Stap 7: Programmeren Tic Tac Toe
Bijgevoegd is de code voor het spel.Laten we eerst breken de tic tac toe game in de verschillende stappen, in de twee-speler modus:
Stap 1: Speler A pakt een onbezet cel door het aanraken van een kruispunt.
Stap 2: De LED voor die cel brandt met de kleur A.
Stap 3: Controleer om te zien als speler A heeft gewonnen.
Stap 4: Speler B pakt een onbezet cel.
Stap 5: De LED voor die cel oplicht met kleur B.
Stap 6: Controleer om te zien als speler B heeft gewonnen.
Stap 7: Herhaal 1-6 totdat er is een win-aandoening, of als alle cellen worden gevuld.
Het lezen van de cellen:
Het programma lus tussen het lezen van het raster en het weergeven van de LED-matrix. Zolang de raster-sensor niet een andere waarde dan nul registreert, blijft deze lus. Wanneer een knooppunt wordt gedrukt, slaat de geperste variabele de positie van de geperste cel.
Als de cel ongevuld is te controleren:
Wanneer een positie lezing is verkregen (variabele Pressed), wordt het vergeleken met de huidige status van de cel (opgeslagen in de variabele GridOnOff) met behulp van een bitsgewijze toevoeging. Als de ingedrukte cel zich ongevuld, ga dan naar het oplichten van de LED, anders terug te keren naar het lezen van de cellen.
Wisselen van de kleuren:
Een Boole-variabele, beurt, wordt gebruikt om vast te leggen die aan de beurt is. De kleur van de LED gekozen wanneer een cel wordt geplukt wordt bepaald door deze variabele, die wisselt telkens wanneer een cel wordt gekozen.
Controleren op een win-voorwaarde:
Er zijn alleen 8 mogelijke win-voorwaarden, en deze worden opgeslagen als word variabelen in een array (winArray). Twee bitsgewijze toevoegingen worden gebruikt voor het vergelijken van een speler gevulde cel posities aan de voorwaarden van de win. Als er een match is, geeft het programma een win routine, waarna het begint een nieuw spel.
Controleren voor een aandoening van de loting:
Toen negen bochten zijn vastgelegd en er nog geen win-voorwaarde is, dan is het spel remise. De LED's zijn dan verdwenen uit en wordt een nieuw spel gestart.
Overschakelen naar de modus voor één speler:
Als de schakelaar in de aan-positie is, gaat het programma in één spelerwijze, met de menselijke speler begint eerste. Aan het einde van de menselijke speler aan de beurt pakt het programma gewoon een willekeurige cel. Dit is uiteraard niet de slimste strategie!