Étape 6: Comment fonctionne le code ?
Pour compter les victoires d’un joueur, il convient d’ajouter une fonction « show_wins() » et deux variables globales :
int wins_red = 0 ; ... void show_wins(void) {} pour (int i = 0; i < wins_green; i ++) {}
int wins_green = 0 ;
pour (int i = 0; i < wins_red; i ++) {}
set_field (i, 1) ;
}
_delay_ms(300) ; attendre 100 ms
TODO : fonction clear_board()
set_field (i, 0) ;
}
_delay_ms(300) ; attendre 100 ms
TODO : fonction clear_board()
}
Cette fonction affecte d’abord les leds autant qu’il y gagne comptés par l’entier. Une autre façon consiste à manipuler directement les ports;) (Pas plus de 9, il devrait exister une vérification effectuée s’il n’y a plus de victoires que les champs!) L’étape suivante consiste à appeler cette fonction lorsqu’un gagnant est trouvé cela peut être fait soit par une instruction séparée si-après qui évalue la valeur de la fonction « check_winner() » ou directement dans la fonction « check_winner() », juste avant le « return 1; » Déclaration. Aussi il faut incrémenter les deux entiers "wins_red ++" (wins_green ++), cela devrait être fait dans la fonction « check_winner() ». Ceci peut être fait par une instruction if :
if(Player == 1) {}
wins_red ++ ;
}
else {}
wins_green ++ ;
}
Thisstatement doit se trouver aussi avant le « return 1; » Déclaration ans également avant le « show_wins() » fonctionne donc on compte toujours toutes les victoires.
C’était seulement une idée comment faire pour ajouter plus de fonctionnalité pour le jeu. Une autre idée pourrait être également compter des tirages au sort ou ajouter un petit bip pour jouer une mélodie si quelqu'un a gagné.