Taula de continguts:

Joc 3D4x: Tic-Tac-Toe 3D 4x4x4: 5 passos (amb imatges)
Joc 3D4x: Tic-Tac-Toe 3D 4x4x4: 5 passos (amb imatges)

Vídeo: Joc 3D4x: Tic-Tac-Toe 3D 4x4x4: 5 passos (amb imatges)

Vídeo: Joc 3D4x: Tic-Tac-Toe 3D 4x4x4: 5 passos (amb imatges)
Vídeo: Qubic: Artificial Intelligence for 3D Tic-Tac-Toe - Beat the AI 2024, De novembre
Anonim
Image
Image
Joc 3D4x: 3D 4x4x4 Tic-Tac-Toe
Joc 3D4x: 3D 4x4x4 Tic-Tac-Toe
Joc 3D4x: Tic-Tac-Toe 3D 4x4x4
Joc 3D4x: Tic-Tac-Toe 3D 4x4x4
Joc 3D4x: 3D 4x4x4 Tic-Tac-Toe
Joc 3D4x: 3D 4x4x4 Tic-Tac-Toe

Estàs fart de jugar al mateix tic-tac-toe de dues dimensions, vell, avorrit i bidimensional ?? Doncs tenim la solució per a vosaltres! Tic-tac-toe en 3 dimensions !!! Per a 2 jugadors, en aquest cub de 4x4x4, aconsegueix 4 LED seguits (en qualsevol direcció) i guanyaràs! Tu ho fas. Tu hi jugues.

Pas 1: reuniu components i eines

Reuneix components i eines
Reuneix components i eines

El component més essencial d’aquest 3D Tic-Tac-Toe és el LED. Vam triar el PL9823, que ja té un controlador integrat. Té quatre pins (Data-in, Voltage-Supply, Ground, Data-Out) i us permet dirigir i controlar fàcilment el color del LED. L'estructura de la quadrícula es pot construir de moltes maneres diferents, però per a nosaltres aquesta era l'opció més barata, resistent i estètica.

Llista de components:

  • Arduino (hem utilitzat Uno)
  • LEDs PL9823 (almenys 64)
  • Palets de pinxo de fusta (24cm de llarg)
  • Cablejat (hem utilitzat la part interior d'un antic cable Ethernet)
  • Botons (estat momentani)
  • 7 resistències (220 ohm)
  • Taules de pa (1 per a botons i reproducció, 1 per a connexions fàcils de panell a Arduino)
  • Tauler d'escuma de poliestirè (~ 2x30x30cm per fer els panells)
  • Bloc de poliestirè d'escuma (~ 7x25x25cm com a base per a tota la quadrícula)

Llista d'eines:

  • Soldador
  • Estany de soldar
  • Cola
  • Recta amb regle
  • Alicates
  • Decapants de filferro
  • Talladors de filferro
  • Tisores
  • Marcador
  • Bolígraf
  • Pinces

Pas 2: feu la graella

Image
Image
Feu la graella
Feu la graella
Feu la graella
Feu la graella

Fabriquem 4 panells de LEDs 4x4 individualment.

  • 00: Obteniu espuma de poliestirè per fer el disseny del tauler. Dibuixa el patró. En aquest cas, hem utilitzat un espaiat de 6cm entre LEDs amb 2cm als extrems.
  • 01: Introduïu els pins LED a la poliestirè. Important! Assegureu-vos d’inserir tots els LED amb la mateixa orientació. En el nostre cas, hem triat el pin de sortida per estar cap a l’esquerra.
  • 02: Ara col·loqueu els pals de pinxo de vareta de fusta a banda i banda dels LED en files, assegurant-vos que tots els punts estiguin orientats a la mateixa direcció. Enganxeu el pal als costats de les bombetes LED i deixeu-lo assecar.
  • 03: Feu el mateix per a les columnes de palets de pinxo de vareta de fusta a banda i banda dels LED, assegurant-vos que tots els punts estiguin orientats a la mateixa direcció. Enganxa i deixa assecar.
  • 04: Retireu suaument afluixant els LED que hi ha al voltant. Aixequeu el tauler i gireu-lo. Enganxeu la part posterior perquè sigui més segura.
  • 05: Després que tot estigui sec, doblegueu els passadors per facilitar la soldadura i ajudeu a evitar que es creïn línies elèctriques. Utilitzem una pinça i doblegem el passador des de prop de la base.
  • 06: Ara prepara els cables. Vam fer servir un antic cable Ethernet que tenia cables de 4 parells trenats al seu interior. Traieu l’aïllament amb compte de no tallar els fils petits. A continuació, desenrotgeu-los, trieu els colors que corresponguin a les diferents línies i talleu la longitud adequada entre els LED. A continuació, retireu una mica l'aïllament dels extrems. Vam triar terra = verd, Vdc = blau, dades d’entrada / sortida = blanc.
  • 07: Soldar! Hi ha moltes connexions (64x4), així que tingueu cura de soldar correctament.
  • 08: Traieu el panell i col·loqueu-lo a la base d'escuma.

Pas 3: feu el joystick

Feu el joystick
Feu el joystick
Feu el joystick
Feu el joystick

Hem utilitzat una taula de proves per fer el joystick per navegar per la graella i fer la selecció. Vam col·locar ponts, resistències i botons per formar el circuit (vegeu l’esquema) que defineix el controlador de direcció (6 botons, 1 per a cada direcció) i el botó de selecció (entra en el moviment del jugador). El 5V i la terra estan connectats als ports relatius d’Arduino. Per als pins d'entrada analògics i digitals, vam triar els ports Arduino A5 i 2, respectivament.

El botó de selecció té un esquema bàsic amb la resistència anti-agrupació. L'ordre de direcció es basa en una escala de resistència que funciona com a circuit divisor de tensió: la tensió a l'entrada analògica depèn del botó premut i Arduino la interpreta com una direcció d'ordre.

Pas 4: escriviu el codi

Escriu el Codi
Escriu el Codi

Hem penjat el nostre codi perquè el feu servir:) Primer, feu les connexions elèctriques a l'Arduino. Posem una mini tauleta al costat de l’Arduino perquè sigui una mica més fàcil. Vam connectar l'Arduino "GND" i "5V" a 2 línies de la panellera on vam connectar la terra i el Vdc respectius de cada panell. Per a Data-In i Data-Out, vam triar 4 pins Arduino diferents, 13, 10, 7 i 4 per a cadascun dels panells. Els LED PL9823 es poden adreçar individualment per l'ordre numèric del LED en sèrie. Per exemple, si voleu encendre el primer LED a un color determinat, dirigiu el LED [0]. Per al 16è LED, adreça LED [15]. Ara ja esteu a punt per codificar i jugar amb les boniques llums. A continuació es mostra una explicació general del codi del joc 3D de tic-tac-toe.

El codi del joc 3D4x

Utilitzem la biblioteca fastled.h que ens permet gestionar els LEDs micro-controlats.

El cub es memoritza virtualment a la matriu sencera 3D “TTTMap”, on cada element pot estar en 1 de 5 estats segons la llum corresponent sigui propietat de: 0 = cap jugador, 1 = jugador 1, 2 = jugador 2, 3 = jugador 1 en una combinació guanyadora i 3 = jugador 2 en una combinació guanyadora. Per tal de mapar els elements del cub virtual a TTTMap als LED reals, s’utilitzen les matrius enteres LEDMap0, LEDMap1, LEDMap2, LEDMap3.

La funció "setup" inicialitza els ports Arduino connectats al tauler, inicialitza tots els LED a "negre" i inicialitza els elements de la matriu TTTMap a 0.

La funció "bucle" executa les funcions "ReadButtonInput ()", "SendLED ()" i, en cas que guanyi un jugador, la funció "VictoryAnimation ()". La primera funció llegeix l'entrada analògica de l'ordre de direcció i l'entrada digital del botó de selecció. Les variables booleanes "ButtonPush" i "SelectPush" s'utilitzen per evitar que el moviment es repeteixi a la velocitat del bucle quan es manté premut el botó. La funció "SendLED ()" actualitza els estats dels LEDs enviant el senyal de control sèrie segons les dades del TTTMap. Una funció fonamental és "CheckVictory ()" que s'anomena "ReadButtonInput ()" cada vegada que es prem el botó de selecció. Aquesta funció comprova si el punt seleccionat a l'espai fa una combinació guanyadora amb els pins circundants. En cas de guanyar la combinació, els punts del TTTMap es signen amb el número 3 o 4, segons el jugador que guanyi, i es fa l'excitant "VictoryAnimation ()".

Per tornar a jugar, només cal que premeu el botó de restabliment de l'Arduino:)

Pas 5: Juga amb els teus amics

Juga amb els teus amics!
Juga amb els teus amics!
Juga amb els teus amics!
Juga amb els teus amics!
Juga amb els teus amics!
Juga amb els teus amics!

Aquí no cal cap explicació … GAUDEIX!

Recomanat: