LED Sensor - TicTacToe jeu (6 / 7 étapes)

Étape 6: Comment fonctionne le code ?

Sur la photo vous pouvez voir un diagramme de flux brut comment le code fonctionne. Il commence avec l’initialisation des I/O ports et détermine l’ennemi. Dès que l’ennemi est déterminée, on peut voir il y a deux chaînes différentes celui vert est le mode de « l’homme contre l’homme » et le rouge montre le cycle de la mode « humain vs ordinateur ». Les deux cycles de commencent avec la fucntion champ get, qui lit les leds et retourne une valeur entre 1 et 9 pour un champ spécifique. La fonction suivante définit un champ, on doit passer de la couleur et le champ. La gauche coloum active/désactive la couleur et vérifie le gagnant, si un gagnant est trouvé, la ligne gagnante clignote et le jury est remis à zéro. La séquence commence à nouveau mais cette fois le perdant commence avec son déménagement. Tout d’abord, le deuxième coloum vérifie un gagnant, puis déplace l’ordinateur, puis vérifie le gagnant à nouveau. Il y a deux contrôles dans la coulum droite car quand jouant contre l’ordinateur toujours l’être humain a le premier coup. Donc, on doit vérifier pour un vainqueur après chaque mouvement.

Pour compter les victoires d’un joueur, il convient d’ajouter une fonction « show_wins() » et deux variables globales :

int wins_red = 0 ;
int wins_green = 0 ;

...

void show_wins(void) {}
pour (int i = 0; i < wins_red; i ++) {}
set_field (i, 1) ;
}
_delay_ms(300) ; attendre 100 ms
TODO : fonction clear_board()

pour (int i = 0; i < wins_green; i ++) {}
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é.

Articles Liés

Jeu VHDL: LED - bouton Push jeu Instructable

Jeu VHDL: LED - bouton Push jeu Instructable

Bienvenue ! Il s'agit une instructable pour créer un jeu simple de VHDL en utilisant les LEDs et les boutons que nous avons appelé PushPace. Avant de continuer, Voici les antécédents et l'inspiration derrière le jeu.Arrière-plan Si vous avez grandi d
Contrôlés à distance de la TV LED dotmatrix serpent jeu

Contrôlés à distance de la TV LED dotmatrix serpent jeu

Snake est un jeu vidéo qui a pris naissance au cours de la fin des années 1970 dans les arcades et entretient popularité depuis, puis, devient quelque chose d'un classique. Après qu'il est devenu le standard jeu pré-chargés sur les téléphones Nokia e
Ajout de LED pour le jeu de la griffe

Ajout de LED pour le jeu de la griffe

La griffe de jeu est assez cool mais il y a toujours un moyen d'améliorer un projet. Pour améliorer le jeu de la griffe LED bandes vont être ajoutées à la base car aucun projet n'est complète sans un nombre excessif de LEDs.Malheureusement le projet
9 volts simple LED Sensor Light!!!

9 volts simple LED Sensor Light!!!

Voir ce lien YouTube!!http://www.youtube.com/watch?v=QlYegfPmqvAVoir mes autres I'Bles pour des instructions sur comment le faire!!(Note: une conversion très simple à l'USB. Il suffit de remplacer le couvercle de la batterie avec le port USB. Le néga
9 volts simple LED Sensor Light!!! (Concours vidéo)

9 volts simple LED Sensor Light!!! (Concours vidéo)

Voir ce lien YouTube!!http://www.youtube.com/watch?v=QlYegfPmqvAVoir mes autres I'Bles pour des instructions sur comment le faire!!(Note: une conversion très simple à l'USB. Il suffit de remplacer le couvercle de la batterie avec le port USB. Le néga
Arduino basé jeu de Pong Bi-color LED Matrix

Arduino basé jeu de Pong Bi-color LED Matrix

Nous avons créé deux projet de jeu instructables jusqu'en utilisant les kits Bi-color LED Matrix Driver Module SLT jolliFactory que nous avons conçu. Ce module LED Matrix est conçu pour pouvoir chain-donc vous pouvez chaîner les modules ensemble au n
Arduino Bi-color LED Matrix Flappy oiseau jeu basé

Arduino Bi-color LED Matrix Flappy oiseau jeu basé

Nous avons construit un certain projets en utilisant les kits Bi-color (rouge et vert) LED Matrix Module pilote de jolliFactory et ont publié leur comme instructables ici. Chacun de ces modules utilise deux MAX7219 Display Driver ICs pour piloter une
Arduino 8 x 8 Matrix LED jeu

Arduino 8 x 8 Matrix LED jeu

pour une classe que je prends, j'ai dû faire un jeu à l'aide d'une matrice de 8 x 8 LED. Le jeu est basé autour de déposer une « bombe » sur une cible de défilement en bas de l'écran.Chaque niveau la cible se déplace plus vite et vous êtes déplacé pl
Utilisation du GPS, capteur hall, LEDs et Firebase avec l’Edison

Utilisation du GPS, capteur hall, LEDs et Firebase avec l’Edison

Ce instructable qui suit explique comment connecter votre Edison Intel utilisant le capteur GPS de Grove, capteur Hall et le bouclier de Base (s'il vous plaît noter que le GPS de Grove ne vient pas en standard dans le gouve Starter Kit Plus).Le code
Arduino basé Bi-color LED Matrix Snake Game

Arduino basé Bi-color LED Matrix Snake Game

Nous avons démontré comment un Arduino basé jeu de Tetris Bi-color LED Matrix peut être construit dans notre dernière instructable. Nous étions tout à fait surprenant il a été présenté à la page d'accueil de Instructables et lui ont valu une poignée
En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage

En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage

The Siemens DLO7135 Dot matrix LED est un étonnant morceau de l'optoélectronique. Il a présenté comme un 5 x 7 matricielle affichage Intelligent (r) avec mémoire/décodeur/conducteur. Avec cette mémoire, il a obtenu un affichage de ASCII caractères 96
Feu de signalisation LED LEGO Intersection en T

Feu de signalisation LED LEGO Intersection en T

Vidéo ne joue ne pas? Voir sur YouTube : http://www.youtube.com/watch?v=q0tiiWwC6ZoArrière-planChaque Noël, nous avons mis en place une grande mise en page du train LEGO dans une section de la salle de séjour. Cette année, j'ai fini par gagner une en
Contrôler une matrice de LED

Contrôler une matrice de LED

Les tableaux de LED sont beaucoup de plaisir et plus facile que vous pouvez penser au contrôle. Dans ce Instructable, vous apprendrez comment une matrice de LED est construite et fonctionne et comment conduire en utilisant une puce de pilote MAX7219.
7 affichage du texte de défilement Bi-color LED Matrix

7 affichage du texte de défilement Bi-color LED Matrix

Ici, nous montrons comment un Bi-color 7 8 x 8 LED Matrix Scrolling Text Display est construite, dans laquelle messages et commandes peuvent être envoyées à lui via Bluetooth à l'aide d'un téléphone intelligent Android. Logiquement, tout appareil cap