Isi kandungan:

Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe: 5 Langkah (dengan Gambar)
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe: 5 Langkah (dengan Gambar)

Video: Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe: 5 Langkah (dengan Gambar)

Video: Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe: 5 Langkah (dengan Gambar)
Video: Qubic: tic-tac-toe 4x4x4 Trailer 2024, Julai
Anonim
Image
Image
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe
Permainan 3D4x: 3D 4x4x4 Tic-Tac-Toe

Adakah anda bosan bermain tic-tac-toe yang sama, lama, membosankan, 2 dimensi ?? Kami ada penyelesaian untuk anda! Tic-tac-toe dalam 3 dimensi !!! Untuk 2 pemain, dalam kubus 4x4x4 ini, dapatkan 4 LED berturut-turut (ke arah mana pun) dan anda menang! Anda membuatnya. Anda bermain.

Langkah 1: Kumpulkan Komponen dan Alat

Kumpulkan Komponen dan Alat
Kumpulkan Komponen dan Alat

Komponen terpenting Tic-Tac-Toe 3D ini adalah LED. Kami memilih PL9823 yang sudah mempunyai pengawal bersepadu di dalamnya. Ia mempunyai empat pin (Data-in, Voltage-Supply, Ground, Data-Out), dan membolehkan anda menangani dan mengawal warna LED dengan mudah. Struktur grid boleh dibina dengan pelbagai cara, tetapi bagi kita ini adalah pilihan yang paling murah, paling kuat, dan paling estetik.

Senarai Komponen:

  • Arduino (kami menggunakan Uno)
  • LED PL9823 (sekurang-kurangnya 64)
  • Tongkat lidi kayu (panjang 24cm)
  • Pendawaian (kami menggunakan bahagian dalam kabel ethernet lama)
  • Butang (keadaan seketika)
  • 7 Perintang (220Ohm)
  • Papan roti (1 untuk butang dan bermain, 1 untuk sambungan panel mudah ke Arduino)
  • Papan polistirena busa (~ 2x30x30cm untuk membuat panel)
  • Blok polistirena busa (~ 7x25x25cm sebagai asas untuk keseluruhan grid)

Senarai Alat:

  • Besi pematerian
  • Tin pematerian
  • Lem
  • Straightedge dengan pembaris
  • Tang
  • Pelucut wayar
  • Pemotong wayar
  • Gunting
  • Penanda
  • Pen
  • Pinset

Langkah 2: Buat Grid

Image
Image
Buat Grid
Buat Grid
Buat Grid
Buat Grid

Kami membuat 4 panel LED 4x4 secara individu.

  • 00: Dapatkan styrofoam untuk membuat susun atur panel. Lukis corak. Dalam kes ini, kami menggunakan jarak 6cm antara LED dengan 2cm di hujungnya.
  • 01: Masukkan pin LED ke styrofoam. Penting! Pastikan anda memasukkan semua LED dengan orientasi yang sama. Dalam kes kami, kami memilih pin output untuk berada di sebelah kiri.
  • 02: Sekarang letakkan batang lidi kayu di kedua sisi LED dalam satu baris, pastikan semua titik menghadap ke arah yang sama. Lekatkan tongkat ke sisi lampu LED dan biarkan kering.
  • 03: Lakukan hal yang sama untuk tiang lidi batang kayu di kedua sisi LED, pastikan semua titik menghadap ke arah yang sama. Lekatkan dan biarkan kering.
  • 04: Keluarkan dengan perlahan dengan melonggarkan LED di sekeliling. Angkat panel keluar dan balikkan. Lekatkan bahagian belakang supaya lebih selamat.
  • 05: Setelah semuanya kering, bengkokkan pin agar penyolderan lebih mudah dan bantu mengelakkan sebarang saluran elektrik melintas. Kami menggunakan pinset dan membengkokkan pin dari dekat ke pangkal.
  • 06: Sekarang sediakan wayar. Kami menggunakan kabel ethernet lama yang mempunyai kabel 4-twisted-pair di dalamnya. Tanggalkan penebat dengan berhati-hati agar tidak memotong wayar kecil. Kemudian lepaskan, pilih warna anda agar sesuai dengan garis yang berbeza, dan potong dengan panjang yang betul di antara LED. Kemudian lepaskan sedikit penebat dari hujungnya. Kami memilih tanah = hijau, Vdc = biru, data masuk / keluar = putih.
  • 07: Pateri! Terdapat banyak sambungan (64x4), jadi berhati-hati untuk menyolder dengan betul.
  • 08: Tanggalkan panel, dan letakkan di dasar busa!

Langkah 3: Buat Joystick

Buat Joystick
Buat Joystick
Buat Joystick
Buat Joystick

Kami menggunakan papan roti untuk membuat kayu bedik untuk menavigasi grid dan membuat pilihan. Kami meletakkan jumper, perintang, dan butang untuk membentuk litar (lihat rajah) yang menentukan pengawal arah (6 butang, 1 untuk setiap arah) dan butang pilihan (memasuki pergerakan pemain). 5V dan tanah dihubungkan ke port relatif di Arduino. Untuk pin input analog dan digital, kami masing-masing memilih port Arduino A5 dan 2.

Butang pilihan mempunyai skema asas dengan perintang anti-bunching. Perintah arah didasarkan pada tangga perintang yang berfungsi sebagai litar pembahagi voltan: voltan ke input analog bergantung pada butang yang ditekan dan ditafsirkan oleh Arduino sebagai satu arahan arahan.

Langkah 4: Tulis Kod

Tuliskan Kod
Tuliskan Kod

Kami telah memuat naik kod kami untuk anda gunakan:) Pertama, buat sambungan elektrik ke Arduino. Kami meletakkan papan roti mini di sebelah Arduino untuk membuatnya lebih mudah. Kami menyambungkan Arduino "GND" dan "5V" ke 2 baris muatan roti di mana kami kemudian memasang ground dan Vdc masing-masing dari setiap panel. Untuk Data-In dan Data-Out kami memilih 4 pin Arduino yang berbeza, 13, 10, 7, dan 4 untuk setiap panel. LED PL9823 dapat ditangani secara individu dengan urutan berangka LED secara bersiri. Contohnya, jika anda mahu menyalakan LED pertama ke warna tertentu, alamat LED [0]. Untuk LED ke-16, alamat LED [15]. Sekarang anda sudah bersedia untuk membuat kod dan bermain dengan lampu cantik! Berikut adalah penjelasan umum mengenai kod permainan tic-tac-toe 3D.

Kod Permainan 3D4x

Kami menggunakan perpustakaan fastled.h yang membolehkan kami menguruskan LED terkawal mikro.

Kubus itu diingat hampir dalam array integer 3D "TTTMap", di mana setiap elemen dapat berada dalam 1 dari 5 keadaan sesuai dengan cahaya yang dimiliki oleh: 0 = tidak ada pemain, 1 = pemain 1, 2 = pemain 2, 3 = pemain 1 dalam kombinasi yang menang, dan 3 = pemain 2 dalam kombinasi yang menang. Untuk memetakan unsur-unsur kubus maya di TTTMap ke LED sebenar, array integer LEDMap0, LEDMap1, LEDMap2, LEDMap3 digunakan.

Fungsi "setup" menginisialisasi port Arduino yang terhubung ke panel, menginisialisasi semua LED menjadi "hitam", dan menginisialisasi elemen array TTTMap ke 0.

Fungsi "loop" menjalankan fungsi "ReadButtonInput ()", "SendLED ()", dan, jika satu pemain menang, fungsi "VictoryAnimation ()". Fungsi pertama membaca input analog arahan arahan dan input digital butang pilihan. Pemboleh ubah boolean "ButtonPushed" dan "SelectPushed" digunakan untuk mengelakkan pergerakan berulang pada kelajuan gelung ketika butang dipegang. Fungsi "SendLED ()" menyegarkan status LED dengan mengirim isyarat kawalan bersiri sesuai dengan data dalam TTTMap. Fungsi mendasar adalah "CheckVictory ()" yang dipanggil oleh "ReadButtonInput ()" setiap kali tombol pilih ditekan. Fungsi ini memeriksa apakah titik yang dipilih di ruang membuat kombinasi yang menang dengan pin di sekitarnya. Sekiranya terdapat kombinasi yang menang, mata dalam TTTM ditandatangani dengan nombor 3 atau 4, sesuai dengan pemain yang menang, dan "VictoryAnimation ()" menarik!

Untuk bermain lagi, tekan butang reset pada Arduino:)

Langkah 5: Main dengan Rakan Anda

Main Dengan Rakan Anda!
Main Dengan Rakan Anda!
Main Dengan Rakan Anda!
Main Dengan Rakan Anda!
Main Dengan Rakan Anda!
Main Dengan Rakan Anda!

Tidak perlu penjelasan di sini … NIKMATI!

Disyorkan: