Stap 6: Hoe werkt de code?
Als u wilt tellen de wint van een speler, moet men een functie "show_wins()", en twee globale variabelen toevoegen:
int wins_red = 0; ... ongeldig show_wins(void) {} for (int i = 0; ik < wins_green; i ++) {}
int wins_green = 0;
for (int i = 0; ik < wins_red; i ++) {}
set_field (i, 1);
}
_delay_ms(300); wachten 100 ms
TODO: clear_board() functie
set_field (i, 0);
}
_delay_ms(300); wachten 100 ms
TODO: clear_board() functie
}
Deze functie stelt eerst zoveel leds als er wint geteld door de integer zijn. Een andere manier is het rechtstreeks manipuleren de poorten ;) (Niet meer dan 9, moet er een controle uitgevoerd als er meer wint dan velden!) De volgende stap is om deze functie aan te roepen wanneer een winnaar is gevonden, dit kan gebeuren hetzij door een afzonderlijk als-instructie na die resulteert in de waarde van de functie "check_winner()" of rechtstreeks in de functie van "check_winner()", vlak voor de "return 1;" verklaring. Ook heeft het verhogen van de twee gehele getallen "wins_red ++" (wins_green ++), dit moet gebeuren in de "check_winner()"-functie. Dit kan gebeuren door een if-statement:
if(Player == 1) {}
wins_red ++;
}
else {}
wins_green ++;
}
Thisstatement moet ook worden gevestigd alvorens de "return 1;" verklaring ans ook voordat de "show_wins()" functioneren dus een altijd alle wint telt.
Dit was slechts één idee over het toevoegen van meer functionaliteit aan het spel. Een ander idee zou ook tellen vestigt of toevoegen van een beetje beeper om te spelen sommige melodie als iemand gewonnen.