Talaan ng mga Nilalaman:

3D4x Game: 3D 4x4x4 Tic-Tac-Toe: 5 Hakbang (na may Mga Larawan)
3D4x Game: 3D 4x4x4 Tic-Tac-Toe: 5 Hakbang (na may Mga Larawan)

Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe: 5 Hakbang (na may Mga Larawan)

Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe: 5 Hakbang (na may Mga Larawan)
Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe - PromoVid 2024, Hulyo
Anonim
Image
Image
3D4x Game: 3D 4x4x4 Tic-Tac-Toe
3D4x Game: 3D 4x4x4 Tic-Tac-Toe
3D4x Game: 3D 4x4x4 Tic-Tac-Toe
3D4x Game: 3D 4x4x4 Tic-Tac-Toe
3D4x Game: 3D 4x4x4 Tic-Tac-Toe
3D4x Game: 3D 4x4x4 Tic-Tac-Toe

Pagod ka na bang maglaro ng pareho, luma, mainip, 2-dimensional na pagkimbot ng laman ?? Sa gayon mayroon kaming solusyon para sa iyo! Pagkimbot ng laman-tac-toe sa 3-sukat !!! Para sa 2 mga manlalaro, sa 4x4x4 cube na ito, kumuha ng 4 na LEDs sa isang hilera (sa anumang direksyon) at manalo ka! Ikaw ang gumawa nito Pinatugtog mo ito

Hakbang 1: Ipunin ang Mga Bahagi at Tool

Ipunin ang Mga Bahagi at Kasangkapan
Ipunin ang Mga Bahagi at Kasangkapan

Ang pinakamahalagang bahagi ng 3D Tic-Tac-Toe na ito ay ang LED. Pinili namin ang PL9823 na mayroon nang isang integrated controller sa loob. Mayroon itong apat na mga pin (Data-in, Voltage-Supply, Ground, Data-Out), at pinapayagan kang madaling matugunan at makontrol ang kulay ng LED. Ang istraktura ng grid ay maaaring itayo sa maraming iba't ibang mga paraan, ngunit para sa amin ito ang pinakamura, pinakamatibay, at pinaka-aesthetic na pagpipilian.

Listahan ng Bahagi:

  • Arduino (ginamit namin ang Uno)
  • PL9823 LEDs (hindi bababa sa 64)
  • Mga kahoy na skewer stick (24cm ang haba)
  • Mga kable (ginamit namin ang loob ng isang lumang ethernet cable)
  • Mga Pindutan (panandaliang estado)
  • 7 Mga Resistor (220Ohm)
  • Mga Breadboard (1 para sa mga pindutan at pag-play, 1 para sa madaling mga koneksyon sa panel sa Arduino)
  • Foam polystyrene board (~ 2x30x30cm upang gawin ang mga panel)
  • Foam polystyrene block (~ 7x25x25cm bilang batayan para sa buong grid)

Listahan ng tool:

  • Panghinang
  • Lata na panghinang
  • Pandikit
  • Straightedge kasama ang pinuno
  • Mga Plier
  • Mga striper ng wire
  • Mga pamutol ng wire
  • Gunting
  • Pananda
  • Panulat
  • Mga Tweezer

Hakbang 2: Gawin ang Grid

Image
Image
Gawin ang Grid
Gawin ang Grid
Gawin ang Grid
Gawin ang Grid

Gumagawa kami ng 4 na panel ng 4x4 LED nang paisa-isa.

  • 00: Kumuha ng styrofoam upang gawin ang layout ng panel. Iguhit ang pattern. Sa kasong ito, gumamit kami ng 6cm spacing sa pagitan ng mga LED na may 2cm sa mga dulo.
  • 01: Ipasok ang mga LED pin sa styrofoam. Mahalaga! Tiyaking ipinasok mo ang lahat ng mga LED na may parehong oryentasyon. Sa aming kaso, pinili namin ang output pin na papunta sa kaliwa.
  • 02: Ngayon ilagay ang mga stick ng kahoy na skewer stick sa magkabilang panig ng LED sa mga hilera, tinitiyak na ang mga puntos ay nakaharap sa parehong direksyon. Idikit ang stick sa mga gilid ng mga LED bombilya at matuyo.
  • 03: Gawin ang pareho para sa mga haligi ng mga stick ng kahoy na skewer stick sa magkabilang panig ng LEDs, tinitiyak na ang lahat ng mga puntos ay magkakaharap sa parehong direksyon. Pandikit at matuyo.
  • 04: Dahan-dahang alisin sa pamamagitan ng pag-loosening ng mga LED sa paligid. Itaas ang panel at i-flip. Kola ang likuran upang mas ligtas ito.
  • 05: Matapos matuyo ang lahat, yumuko ang mga pin upang gawing mas madali ang paghihinang at makatulong na maiwasan ang anumang mga linya ng kuryente mula sa pagtawid. Gumagamit kami ng tweezer at yumuko ang pin mula malapit sa base.
  • 06: Ngayon ihanda ang mga wire. Gumamit kami ng isang lumang ethernet cable na mayroong 4-twisted-pair wires sa loob. Alisin ang pagkakabukod na maingat na hindi maputol ang maliit na mga wire. Pagkatapos untwist, piliin ang iyong mga kulay upang tumutugma sa iba't ibang mga linya, at gupitin sa kanang haba sa pagitan ng mga LED. Pagkatapos ay hubarin nang kaunti ang pagkakabukod mula sa mga dulo. Pinili namin ang ground = berde, Vdc = asul, data sa / labas = puti.
  • 07: Solder! Mayroong maraming mga koneksyon (64x4), kaya't mag-ingat na maghinang nang tama.
  • 08: Alisin ang panel, at ilagay sa foam base!

Hakbang 3: Gawin ang Joystick

Gawin ang Joystick
Gawin ang Joystick
Gawin ang Joystick
Gawin ang Joystick

Gumamit kami ng isang breadboard upang gawin ang joystick para sa pag-navigate sa grid at pagpili. Naglagay kami ng mga jumper, resistor, at pindutan upang mabuo ang circuit (tingnan ang diagram) na tumutukoy sa direksyon ng tagapamahala (6 na mga pindutan, 1 para sa bawat direksyon) at ang pindutan ng pagpili (pumapasok sa paglipat ng manlalaro). Ang 5V at ang lupa ay konektado sa mga kamag-anak na daungan sa Arduino. Para sa analog at digital input pin pinili namin ang Arduino ports A5 at 2, ayon sa pagkakabanggit.

Ang pindutan ng pagpipilian ay may isang pangunahing pamamaraan sa anti-bunding risistor. Ang utos ng direksyon ay batay sa isang hagdan ng risistor na gumagana bilang boltahe divider circuit: ang boltahe sa input ng analog ay nakasalalay sa pinindot na pindutan at binibigyang kahulugan ng Arduino bilang isang direksyon ng utos.

Hakbang 4: Isulat ang Code

Isulat ang Code
Isulat ang Code

Na-upload namin ang aming code para magamit mo:) Una, gawin ang mga koneksyon sa kuryente sa Arduino. Naglagay kami ng isang maliit na breadboard sa tabi ng Arduino upang gawing mas madali ito. Ikinonekta namin ang Arduino "GND" at "5V" sa 2 linya ng breadboad kung saan pagkatapos ay isinaksak namin ang kani-kanilang lupa at Vdc mula sa bawat panel. Para sa Data-In at Data-Out pumili kami ng 4 na magkakaibang mga pin ng Arduino, 13, 10, 7, at 4 para sa bawat isa sa mga panel. Ang mga PL9823 LEDs ay maaaring isa-isang nakatuon sa pamamagitan ng bilang ayon sa bilang ng LED sa serye. Halimbawa, kung nais mong buksan ang ika-1 LED sa isang tiyak na kulay, address LED [0]. Para sa ika-16 na LED, address LED [15]. Ngayon handa ka nang mag-code at maglaro ng mga magagandang ilaw! Nasa ibaba ang isang pangkalahatang paliwanag ng code ng larong 3D tic-tac-toe.

Ang Code ng 3D4x Game

Ginagamit namin ang fastled.h library na nagbibigay-daan sa amin upang pamahalaan ang mga micro-control LED.

Ang cube ay kabisado sa halos sa 3D integer array na "TTTMap", kung saan ang bawat elemento ay maaaring nasa 1 ng 5 mga estado ayon sa kaukulang ilaw na pagmamay-ari ng: 0 = walang manlalaro, 1 = manlalaro 1, 2 = manlalaro 2, 3 = player 1 sa isang panalong kombinasyon, at 3 = player 2 sa isang panalong kombinasyon. Upang mai-map ang mga elemento ng virtual cube sa TTTMap sa mga tunay na LED, ginagamit ang integer arrays na LEDMap0, LEDMap1, LEDMap2, LEDMap3.

Ang pagpapaandar na "pag-setup" ay nagpapasimula sa mga port ng Arduino na konektado sa panel, pinapasimuno ang lahat ng mga LED sa "itim", at pinasimulan ang mga elemento ng TTTMap array sa 0.

Pinapatakbo ng pagpapaandar na "loop" ang mga pagpapaandar na "ReadbuttonInput ()", "SendLED ()", at, kung sakaling manalo ang isang manlalaro, ang pagpapaandar na "VictoryAnimation ()". Binabasa ng unang pag-andar ang analog input ng direksyon ng direksyon at ang digital input ng pindutan ng pagpipilian. Ang mga variable ng boolean na "ButtonPush" at "SelectPush" ay ginagamit upang maiwasan na ang paggalaw ay paulit-ulit sa bilis ng loop kapag ang pindutan ay gaganapin. Ang pagpapaandar na "SendLED ()" ay nagre-refresh ng mga katayuan ng LED sa pamamagitan ng pagpapadala ng serial control signal ayon sa data sa TTTMap. Ang isang pangunahing pag-andar ay "CheckVictory ()" na tinawag ng "Read ButtonInput ()" sa tuwing ang pindutang pumili ay naitulak. Sinusuri ng pagpapaandar na ito kung ang napiling punto sa puwang ay gumagawa ng isang panalong kumbinasyon sa mga nakapalibot na pin. Sa kaso ng panalong kumbinasyon, ang mga puntos sa TTTMap ay naka-sign na may bilang 3 o 4, ayon sa manlalaro na nanalo, at ang kapanapanabik na "VictoryAnimation ()" na tumatakbo!

Upang maglaro muli, pindutin lamang ang pindutan ng pag-reset sa Arduino:)

Hakbang 5: Maglaro Sa Iyong Mga Kaibigan

Maglaro Sa Mga Kaibigan Mo!
Maglaro Sa Mga Kaibigan Mo!
Maglaro Sa Mga Kaibigan Mo!
Maglaro Sa Mga Kaibigan Mo!
Maglaro Sa Mga Kaibigan Mo!
Maglaro Sa Mga Kaibigan Mo!

Walang paliwanag dito kinakailangan … MAG-ENJOY!

Inirerekumendang: