Innehållsförteckning:

3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 steg (med bilder)
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 steg (med bilder)

Video: 3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 steg (med bilder)

Video: 3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 steg (med bilder)
Video: Unity 3d blood test 2024, November
Anonim
Image
Image
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe

Är du trött på att spela samma, gamla, tråkiga, 2-dimensionella tic-tac-toe ?? Tja, vi har lösningen för dig! Tic-tac-toe i 3-dimensioner !!! För 2 spelare, i denna 4x4x4 -kub, få 4 lysdioder i rad (åt alla håll) och du vinner! Du klarar det. Du spelar det.

Steg 1: Samla komponenter och verktyg

Samla komponenter och verktyg
Samla komponenter och verktyg

Den viktigaste komponenten i denna 3D Tic-Tac-Toe är lysdioden. Vi valde PL9823 som redan har en integrerad styrenhet inuti. Den har fyra stift (Data-in, Voltage-Supply, Ground, Data-Out), och låter dig enkelt adressera och styra färg på LED-lampan. Nätstrukturen kan byggas på många olika sätt, men för oss var detta det billigaste, stabilaste och mest estetiska alternativet.

Komponentlista:

  • Arduino (vi använde Uno)
  • PL9823 lysdioder (minst 64)
  • Träspettpinnar (24 cm långa)
  • Kabeldragning (vi använde insidan av en gammal Ethernet -kabel)
  • Knappar (tillfälligt tillstånd)
  • 7 motstånd (220Ohm)
  • Brödbrädor (1 för knappar och spel, 1 för enkla panelanslutningar till Arduino)
  • Skum polystyrenskiva (~ 2x30x30cm för att göra panelerna)
  • Skum polystyrenblock (~ 7x25x25cm som bas för hela gallret)

Verktygslista:

  • Lödkolv
  • Lödtenn
  • Lim
  • Straightedge med linjal
  • Tång
  • Wire strippers
  • Avbitartång
  • Sax
  • Markör
  • Penna
  • Pincett

Steg 2: Gör rutnätet

Image
Image
Gör rutnätet
Gör rutnätet
Gör rutnätet
Gör rutnätet

Vi tillverkar 4 paneler med 4x4 lysdioder individuellt.

  • 00: Få frigolit för att göra panellayouten. Rita mönstret. I det här fallet använde vi 6 cm mellanrum mellan lysdioder med 2 cm på ändarna.
  • 01: Sätt in LED -stiften i frigolit. Viktig! Se till att du sätter i alla lysdioder med samma riktning. I vårt fall valde vi att utgångsstiften skulle vara mot vänster.
  • 02: Placera nu trästångspettpinnarna på båda sidor av lysdioderna i rader, se till att alla punkter vetter åt samma håll. Limma pinnen på sidorna på LED -lamporna och låt torka.
  • 03: Gör samma sak för kolumnerna med träspöspinnar på båda sidor av lysdioderna, se till att alla punkter vetter åt samma håll. Limma och låt torka.
  • 04: Ta försiktigt bort genom att lossa lysdioderna runtom. Lyft ut panelen och vänd. Limma baksidan så att den är säkrare.
  • 05: När allt är torrt, böj stiften för att underlätta lödningen och förhindra att elektriska ledningar passerar. Vi använder en pincett och böjer stiftet från nära basen.
  • 06: Förbered nu trådarna. Vi använde en gammal ethernet-kabel som har 4-tvinnade trådar inuti. Ta bort isoleringen och var försiktig så att du inte skär av de små trådarna. Dra sedan upp tvisten, välj dina färger för att motsvara de olika linjerna och klipp till rätt längd mellan lysdioderna. Ta sedan bort lite av isoleringen från ändarna. Vi valde mark = grön, Vdc = blå, data in/ut = vit.
  • 07: Lödning! Det finns många anslutningar (64x4), så var noga med att löda korrekt.
  • 08: Ta bort panelen och lägg på skumbasen!

Steg 3: Gör joysticken

Gör joysticken
Gör joysticken
Gör joysticken
Gör joysticken

Vi använde en brödbräda för att göra joysticken för att navigera i rutnätet och göra valet. Vi placerade hoppare, motstånd och knappar för att bilda kretsen (se diagram) som definierar riktningskontrollen (6 knappar, 1 för varje riktning) och väljarknappen (går in i spelarens drag). 5V och marken är anslutna till de relativa portarna på Arduino. För de analoga och digitala ingångsstiften valde vi Arduino -portarna A5 respektive 2.

Urvalsknappen har ett grundläggande schema med antikrossningsmotståndet. Riktningskommandot är baserat på en motståndsstege som fungerar som spänningsdelarkrets: spänningen till den analoga ingången beror på den tryckta knappen och tolkas av Arduino som en kommandoriktning.

Steg 4: Skriv koden

Skriv koden
Skriv koden

Vi har laddat upp vår kod för dig att använda:) Gör först de elektriska anslutningarna till Arduino. Vi lägger en mini -brödbräda bredvid Arduino för att göra det lite enklare. Vi kopplade Arduino "GND" och "5V" till 2 rader i brödbåten där vi sedan kopplade respektive jord och Vdc från varje panel. För Data-In och Data-Out valde vi 4 olika Arduino-stift, 13, 10, 7 och 4 för var och en av panelerna. PL9823 -lysdioderna kan adresseras individuellt i numerisk ordning på lysdioderna i serie. Till exempel, om du vill slå på den första lysdioden till en viss färg, adresslampa [0]. För den 16: e LED: n, adress -LED [15]. Nu är du redo att koda och leka med de vackra lamporna! Nedan följer en allmän förklaring av koden för 3D-tic-tac-toe-spelet.

Koden för 3D4x -spelet

Vi använder fastled.h-biblioteket som gör att vi kan hantera de mikrostyrda lysdioderna.

Kuben memoreras praktiskt taget i 3D -heltalssystemet "TTTMap", där varje element kan vara i 1 av 5 tillstånd enligt motsvarande ljus ägs av: 0 = ingen spelare, 1 = spelare 1, 2 = spelare 2, 3 = spelare 1 i en vinnande kombination, och 3 = spelare 2 i en vinnande kombination. För att kartlägga elementen i den virtuella kuben i TTTMap till de riktiga lysdioderna används heltalssystemen LEDMap0, LEDMap1, LEDMap2, LEDMap3.

"Setup" -funktionen initierar Arduino -portarna som är anslutna till panelen, initierar alla lysdioder till "svart" och initierar elementen i TTTMap -arrayen till 0.

"Loop" -funktionen kör funktionerna "ReadButtonInput ()", "SendLED ()", och om en spelare vinner funktionen "VictoryAnimation ()". Den första funktionen läser den analoga ingången för riktningskommandot och den digitala ingången på väljarknappen. De booleska variablerna “ButtonPushed” och “SelectPushed” används för att undvika att rörelsen upprepas med slinghastigheten när knappen hålls inne. Funktionen “SendLED ()” uppdaterar lysdiodernas status genom att skicka den seriella styrsignalen enligt data i TTTM -kartan. En grundläggande funktion är "CheckVictory ()" som kallas av "ReadButtonInput ()" varje gång väljarknappen trycks in. Denna funktion kontrollerar om den valda punkten i utrymmet gör en vinnande kombination med de omgivande stiften. Vid vinnande kombination signeras poängen i TTTMap med nummer 3 eller 4, beroende på spelaren som vinner, och den spännande "VictoryAnimation ()" körs!

För att spela igen, tryck bara på återställningsknappen på Arduino:)

Steg 5: Spela med dina vänner

Lek med dina vänner!
Lek med dina vänner!
Lek med dina vänner!
Lek med dina vänner!
Lek med dina vänner!
Lek med dina vänner!

Ingen förklaring behövs här … NJUT!

Rekommenderad: