Arduino en Touchpad Tic Tac Toe (3 / 8 stap)

Stap 3: Aanpakken van de LED-Matrix

Voor de tic tac toe code, zullen wij moeten zitten kundig voor opslaan van de volgende informatie over de LED's:
-of een LED brandt of niet
-Als verlicht, of is het rode of groene

Een manier van doen dit is voor het opslaan van de staat in de matrix van een 9-cel, met drie cijfers om de staat (0 = uit, 1 = rood op, 2 = groen op).  Everytime die we nodig hebben om te controleren op de Staten van de LED, bijvoorbeeld, om te controleren of er een win-aandoening is, zullen wij moeten doorlopen van de matrix.  Dit is een werkbare methode, maar nogal onhandig.

Een meer gestroomlijnde methode zou zijn om twee groepen van negen bits gebruiken.  De eerste groep van negen bits slaat de aan / uit-status van de LED's, en de tweede groep van negen bits slaat de kleur.  Manipuleren van de LED-Staten wordt dan, gewoon een kwestie van bits rekenkundige en verschuiven.

Hier is een uitgewerkt voorbeeld.  Laten we zeggen dat we onze tic tac toe raster grafisch, en het eerste gebruik 1s en 0s te vertegenwoordigen de aan / uit-status (1 aanstaat, 0 is uitgeschakeld):

000
000 = matrix met linksonder LED verlicht
100

100
010 = matrix met diagonale LEDs verlicht
001

Als we de cellen uit de links onderaan inventariseren, kunnen we de bovenstaande verklaringen schrijven als een reeks bits.  In het eerste geval, dat zou 100000000, en in het tweede geval, zou het 001010100.  Als wij van deze als binaire representaties denken, kan vervolgens elke reeks bits worden samengevat in een enkel getal (256 in het eerste geval, 84 in het tweede geval).  Dus in plaats van met behulp van een array op te slaan van de staat van de matrix, kunnen we gewoon gebruiken een enkel getal!

Ook wij de kleur van de LED op dezelfde manier kunnen vertegenwoordigen (1 is rood, 0 is groen).  Eerst stel alle de LEDs verlicht zijn (dus de aan / uit-status wordt vertegenwoordigd door 511).  De onderstaande matrix zal de kleur staat voor de LEDs vertegenwoordigen:

010 groen, rood, groen
101 rood, groen, rood
010 groen, rood, groen

Nu, bij het weergeven van de LED-matrix, we gewoon moeten doorlopen elk van de bits, eerst in de aan / uit-status, en vervolgens in de kleur staat.  Bijvoorbeeld, laten we zeggen dat onze aan-uit staat is 100100100, en de kleur staat is 010101010.  Hier is ons algoritme voor verlichting van de LED-matrix:

Stap 1.  Doen een bitsgewijze toevoeging van de aan / uit-staat met een binaire 1 (dwz bits maskeren).
Stap 2.  Als het waar is, brandt de LED.  Doe nu een bitsgewijze toevoeging van de kleur staat met een binaire 1.
Stap 3.  Als het waar is, licht op de rode LED.  Als het onwaar is, licht op de groene LED.
Stap 4.  Verschuiven van zowel de aan / uit-staat en de kleur staat, een beetje naar rechts (dwz bitverschuiving).
Stap 5.  Herhaal stap 1-4 totdat alle negen bits zijn gelezen.

Opmerking dat we de matrix achteruit - bent vullen we beginnen met cel 9, dan gaan terug naar cel 1.

Ook worden de aan / uit- en kleur Staten opgeslagen als een niet-ondertekende integer type (woord) in plaats van een type integer met teken.  Dat komt omdat in bitverschuiving, als we niet voorzichtig zijn, kunnen we inadvertenly wijzigen het teken van de variabele.

Bijgevoegd is de code voor de verlichting van de LED-matrix.

Gerelateerde Artikelen

Intelligente Arduino Uno & Mega Tic Tac Toe (nullen en kruisen)

Intelligente Arduino Uno & Mega Tic Tac Toe (nullen en kruisen)

Heb ik besloten om het klassieke spel van nullen en kruisen (of Tic Tac Toe, zoals het ook heet) op de Arduino na wordt gevraagd door mijn dochter als we samen een spel kon bouwen. Hier is een video haar het spelen van de definitieve versie op de Ard
Tic Tac Toe Game met behulp van Arduino

Tic Tac Toe Game met behulp van Arduino

Tic Tac Toe is een populaire twee papier spelerspel in welke eerste speler om te voltooien een rij, kolom of diagonaal van 'X' of ' o ' wint. Indien niemand de prestatie niet kon bereiken, dan is de wedstrijd wordt getekend.Stap 1: Onderdelen die ver
Tic-Tac-Toe Robot

Tic-Tac-Toe Robot

In dit Instructable zal ik u tonen hoe te maken van een robotarm die speelt Tic Tac Toe met behulp van een Micro goochelaar robot controller, 4 servo's en bouwstenen / materialen van uw keuze. De bedrading is super eenvoudig, gewoon aansluiten van 4
De Tic-Tac-Toe schild...

De Tic-Tac-Toe schild...

Dit is een zelfgemaakte shield voor Arduino. Ik kan spelen Tic-Tac-teen met de MCU met dit schild verbonden.Mensen blijven vragen me, "Hey, wat doe je altijd in uw werkbank?", of "Hey, tonen ons iets u hebt gemaakt." En voor de meeste
Tic Tac Toe reizen

Tic Tac Toe reizen

Tic tac toe is een ontzagwekkende reizen-spel dat kinderen en volwassenen tijdens de uren van een road trip bezet kunt houden. Met een beetje vilt en creativiteit was ik in staat om een ontzagwekkende herbruikbare reizen tic tac teen board dat als ee
Maken van... tic-tac-toe (Mario bros)

Maken van... tic-tac-toe (Mario bros)

onze dochters hou van mario en tic tac toe, dus ik heb ze samengevoegdStap 1: polymeerklei een foto zoeken op het Internet van mario en zijn vriendenStap 2: en maken het uit kleiStap 3: en bak in de oven voor 30 min 266 graden Fahrenheit en bak in de
Tic Tac Toe Machine

Tic Tac Toe Machine

dit is een eenvoudige machine die speelt tic tac toe. Het werd meestal vorm dood elektronica, zoals een printer en een DVD-reader gemaakt.Hoe het werkt: Eerst moeten we zetten onze mark, het is een zwart vierkant karton, dan door een knop te drukken
How to Win Tic Tac Toe: eenvoudige!

How to Win Tic Tac Toe: eenvoudige!

Hallo, ik ben InstructableUltimate en ik vandaag ik zal u tonen hoe te winnen van Tic Tac Toe in slechts een paar stappen, en dit is echt eenvoudig!Stap 1: Winnen gaat eerste Nou, is dat een eenvoudig winnen! Tot ziens en ik hoop dat dit je geholpen!
Leuke rustieke Tic Tac Toe

Leuke rustieke Tic Tac Toe

Liefde Tic Tac Toe?? Vind ik ook! Ik heb gespeeld sinds ik een kind was, dus nu ik ofwel winnen of het is een gelijkspel ;-DHet is een leuk spel om te spelen met de kinderen en maken van deze rustieke versie maakt het extra leuk! Het maken en het cad
Hoe schrijf je een Tic-Tac-Toe programma in Java

Hoe schrijf je een Tic-Tac-Toe programma in Java

Inleiding:Tic-Tac-Toe is een zeer gemeenschappelijk spel dat is vrij eenvoudig te spelen. De regels van het spel zijn eenvoudig en bekende. Vanwege deze dingen is Tic-Tac-Toe vrij eenvoudig te code omhoog. In deze tutorial, zullen we worden kijken ho
Halloween tic tac toe (gerecycleerde stuff)

Halloween tic tac toe (gerecycleerde stuff)

Halloween Tic Tac teenDit recycle project is voor kinderen. Het resultaat van dit project is om te beginnen met het onderwijzen van sommige vroege recycling bewustzijn. Veel plezier!!Wat een geweldige manier om hergebruik van deze caps die afkomstig
Tic-tac-toe strategieën winnen

Tic-tac-toe strategieën winnen

Iedereen houdt van het eenvoudige spel van tic-tac-toe, maar het lijkt een willekeurig spel. Eigenlijk, zijn niet!Het lijkt erop dat veel geschillen kunnen worden opgelost door een eenvoudig spel...Nu u de volgende winnen kunt tic-tic-tac-toe-off van
Tic Tac Toe Maak in Java

Tic Tac Toe Maak in Java

dit Instructable leidt u stap voor stap, door het maken van Tic Tac Toe in Java! Dit is niet bedoeld als een overzicht van de Java-taal, maar meer van een begeleide voorbeeld. De eerste stap zal over enkele basisconcepten te maken van de rest van de
FPGA Tic Tac Toe

FPGA Tic Tac Toe

"Tic Tac Toe? Wat is dat? Ik heb nog nooit gehoord daarvan."-Niemand ooitDoor Ryan Frawley en Derek NguyenDeze gids zal u tonen hoe maak je een werkende Tic Tac Toe game in VHDL op een Nexys 2 FPGA-board. Deze tutorial werd gedaan voor een deel