Indholdsfortegnelse:

3D4x-spil: 3D 4x4x4 Tic-Tac-Toe: 5 trin (med billeder)
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe: 5 trin (med billeder)

Video: 3D4x-spil: 3D 4x4x4 Tic-Tac-Toe: 5 trin (med billeder)

Video: 3D4x-spil: 3D 4x4x4 Tic-Tac-Toe: 5 trin (med billeder)
Video: 4Play — 3D tic tac toe (Kickstarter promo video) 2024, November
Anonim
Image
Image
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe
3D4x-spil: 3D 4x4x4 Tic-Tac-Toe

Er du træt af at spille den samme, gamle, kedelige, 2-dimensionelle tic-tac-toe ?? Godt, vi har løsningen til dig! Tic-tac-toe i 3-dimensioner !!! For 2 spillere får du i denne 4x4x4 terning 4 lysdioder i træk (i enhver retning), og du vinder! Du klarer det. Du spiller det.

Trin 1: Saml komponenter og værktøjer

Saml komponenter og værktøjer
Saml komponenter og værktøjer

Den mest essentielle komponent i denne 3D Tic-Tac-Toe er LED'en. Vi valgte PL9823, som allerede har en integreret controller indeni. Den har fire ben (Data-in, Voltage-Supply, Ground, Data-Out), og giver dig mulighed for nemt at adressere og kontrollere farven på LED'en. Gitterstrukturen kan bygges på mange forskellige måder, men for os var dette den billigste, mest robuste og mest æstetiske løsning.

Komponentliste:

  • Arduino (vi brugte Uno)
  • PL9823 lysdioder (mindst 64)
  • Spydpinde af træ (24 cm lange)
  • Ledninger (vi brugte indersiden af et gammelt ethernet -kabel)
  • Knapper (momentan tilstand)
  • 7 modstande (220Ohm)
  • Breadboards (1 til knapper og afspilning, 1 til nem panelforbindelse til Arduino)
  • Skum polystyrenplade (~ 2x30x30cm til fremstilling af panelerne)
  • Skum polystyrenblok (~ 7x25x25cm som bund for hele gitteret)

Værktøjsliste:

  • Loddekolbe
  • Loddeform
  • Lim
  • Straightedge med lineal
  • Tang
  • Wire strippere
  • Trådskærere
  • Saks
  • Markør
  • Pen
  • Pincet

Trin 2: Lav gitteret

Image
Image
Lav gitteret
Lav gitteret
Lav gitteret
Lav gitteret

Vi laver 4 paneler af 4x4 LED'er individuelt.

  • 00: Få frigolit til at lave panellayoutet. Tegn mønsteret. I dette tilfælde brugte vi 6 cm afstand mellem lysdioder med 2 cm i enderne.
  • 01: Indsæt LED -benene i frigolit. Vigtig! Sørg for at indsætte alle lysdioder med samme retning. I vores tilfælde valgte vi udgangsstiften til at være mod venstre.
  • 02: Placer nu træstangspydpindene på begge sider af lysdioderne i rækker, og sørg for, at punkterne alle vender den samme retning. Lim pinden fast på siderne af LED -pærerne og lad den tørre.
  • 03: Gør det samme for søjlerne af træstangspydspidser på begge sider af lysdioderne, og sørg for, at punkterne alle vender den samme retning. Lim og lad tørre.
  • 04: Fjern forsigtigt ved at løsne lysdioderne rundt. Løft panelet ud og vend om. Lim bagsiden, så den er mere sikker.
  • 05: Når alt er tørt, skal du bøje stifterne for at gøre lodningen lettere og hjælpe med at undgå, at elektriske ledninger krydser. Vi bruger en pincet og bøjer stiften fra tæt på basen.
  • 06: Forbered nu ledningerne. Vi brugte et gammelt ethernet-kabel, som har 4-snoede parledninger indeni. Fjern isoleringen, og pas på ikke at skære de små ledninger. Derefter skal du fjerne dine farver, så de svarer til de forskellige linjer, og skære til den rigtige længde mellem lysdioderne. Fjern derefter en lille smule af isoleringen fra enderne. Vi valgte jorden = grøn, Vdc = blå, data ind/ud = hvid.
  • 07: Lodning! Der er mange forbindelser (64x4), så pas på at lodde korrekt.
  • 08: Fjern panelet, og læg det på skumbunden!

Trin 3: Lav joysticket

Lav joysticket
Lav joysticket
Lav joysticket
Lav joysticket

Vi brugte et brødbræt til at lave joysticket til at navigere i gitteret og foretage valget. Vi placerede jumpere, modstande og knapper for at danne kredsløbet (se diagram), der definerer retningskontrollen (6 knapper, 1 for hver retning) og valgknappen (går ind i spillerens træk). 5V og jorden er forbundet til de relative havne på Arduino. Til de analoge og digitale inputstifter valgte vi henholdsvis Arduino -portene A5 og 2.

Valgknappen har et grundlæggende skema med modstanden mod sammenbinding. Retningskommandoen er baseret på en modstandsstige, der fungerer som spændingsdelerkredsløb: spændingen til den analoge indgang afhænger af den trykte knap og fortolkes af Arduino som en kommandoretning.

Trin 4: Skriv koden

Skriv koden
Skriv koden

Vi har uploadet vores kode, så du kan bruge:) Lav først de elektriske forbindelser til Arduino. Vi satte et mini -brødbræt ved siden af Arduino for at gøre det lidt lettere. Vi sluttede Arduino "GND" og "5V" til 2 linjer i brødbåden, hvor vi derefter tilsluttede den respektive jord og Vdc fra hvert panel. Til Data-In og Data-Out valgte vi 4 forskellige Arduino-ben, 13, 10, 7 og 4 til hver af panelerne. PL9823 -lysdioderne kan adresseres individuelt i den numeriske rækkefølge for LED'erne i serie. Hvis du f.eks. Vil tænde den første LED til en bestemt farve, skal du adressere LED [0]. For den 16. LED, adresselampe [15]. Nu er du klar til at kode og lege med de smukke lys! Nedenfor er en generel forklaring på koden for 3D-tic-tac-toe-spillet.

Koden til 3D4x -spillet

Vi benytter fastled.h-biblioteket, der giver os mulighed for at styre de mikrostyrede lysdioder.

Terningen huskes praktisk talt i 3D -heltal array "TTTMap", hvor hvert element kan være i 1 af 5 tilstande i henhold til det tilsvarende lys ejes af: 0 = ingen spiller, 1 = spiller 1, 2 = spiller 2, 3 = spiller 1 i en vindende kombination, og 3 = spiller 2 i en vindende kombination. For at kortlægge elementerne i den virtuelle terning i TTTMap til de virkelige lysdioder bruges heltalarraysne LEDMap0, LEDMap1, LEDMap2, LEDMap3.

"Opsætning" -funktionen initialiserer Arduino -portene, der er tilsluttet panelet, initialiserer alle lysdioder til "sort" og initialiserer elementerne i TTTMap -arrayet til 0.

Funktionen "loop" kører funktionerne "ReadButtonInput ()", "SendLED ()", og hvis en spiller vinder, funktionen "VictoryAnimation ()". Den første funktion læser den analoge indgang i retningskommandoen og den digitale indgang på valgknappen. De boolske variabler "ButtonPushed" og "SelectPushed" bruges for at undgå, at bevægelsen gentages med sløjfehastigheden, når knappen holdes nede. Funktionen "SendLED ()" opdaterer lysdiodernes status ved at sende det serielle styresignal i henhold til dataene i TTTMap. En grundlæggende funktion er "CheckVictory ()", der kaldes af "ReadButtonInput ()" hver gang der trykkes på valgknappen. Denne funktion kontrollerer, om det valgte punkt i rummet udgør en vindende kombination med de omkringliggende ben. I tilfælde af en vinderkombination signeres pointene i TTTMap med nummer 3 eller 4, afhængigt af den spiller der vinder, og den spændende “VictoryAnimation ()” kører!

For at spille igen skal du bare trykke på nulstillingsknappen på Arduino:)

Trin 5: Spil med dine venner

Spil med dine venner!
Spil med dine venner!
Spil med dine venner!
Spil med dine venner!
Spil med dine venner!
Spil med dine venner!

Ingen forklaring er nødvendig her … NYDE!

Anbefalede: