Съдържание:

3D4x игра: 3D 4x4x4 Tic-Tac-Toe: 5 стъпки (със снимки)
3D4x игра: 3D 4x4x4 Tic-Tac-Toe: 5 стъпки (със снимки)

Видео: 3D4x игра: 3D 4x4x4 Tic-Tac-Toe: 5 стъпки (със снимки)

Видео: 3D4x игра: 3D 4x4x4 Tic-Tac-Toe: 5 стъпки (със снимки)
Видео: Galactic Civilizations III - 3D 4x Aurora 2024, Ноември
Anonim
Image
Image
3D4x игра: 3D 4x4x4 Tic-Tac-Toe
3D4x игра: 3D 4x4x4 Tic-Tac-Toe
3D4x игра: 3D 4x4x4 Tic-Tac-Toe
3D4x игра: 3D 4x4x4 Tic-Tac-Toe
3D4x игра: 3D 4x4x4 Tic-Tac-Toe
3D4x игра: 3D 4x4x4 Tic-Tac-Toe

Уморихте ли се да играете на един и същ, стар, скучен, двуизмерен тик-така? Е, имаме решение за вас! Тик-так-пръст в три измерения !!! За 2 играчи, в този куб 4х4х4, вземете 4 светодиода подред (във всяка посока) и печелите! Ти го направи. Вие го играйте.

Стъпка 1: Съберете компоненти и инструменти

Съберете компоненти и инструменти
Съберете компоненти и инструменти

Най-важният компонент на този 3D Tic-Tac-Toe е светодиодът. Избрахме PL9823, който вече има вграден контролер вътре. Той има четири пина (вход за данни, захранване с напрежение, заземяване, изход за данни) и ви позволява лесно да адресирате и контролирате цвета на светодиода. Структурата на мрежата може да бъде изградена по много различни начини, но за нас това беше най -евтиният, здрав и най -естетичен вариант.

Списък на компонентите:

  • Arduino (използвахме Uno)
  • PL9823 светодиоди (най -малко 64)
  • Дървени пръчки за шиш (дълги 24 см)
  • Окабеляване (използвахме вътрешностите на стар Ethernet кабел)
  • Бутони (моментно състояние)
  • 7 резистора (220Ohm)
  • Платки (1 за бутони и игра, 1 за лесно свързване на панел към Arduino)
  • Пяна от полистирол (~ 2x30x30cm за направата на панелите)
  • Пенополистиролен блок (~ 7x25x25cm като основа за цялата решетка)

Списък с инструменти:

  • Поялник
  • Калай за запояване
  • Лепило
  • Линейка с линийка
  • Клещи
  • Машини за сваляне на тел
  • Резачки за тел
  • Ножици
  • Маркер
  • Химилка
  • Пинсети

Стъпка 2: Направете решетката

Image
Image
Направете решетката
Направете решетката
Направете решетката
Направете решетката

Ние правим 4 панела от 4x4 светодиоди поотделно.

  • 00: Вземете стиропор, за да направите оформлението на панела. Начертайте шаблона. В този случай използвахме 6 см разстояние между светодиодите с 2 см по краищата.
  • 01: Поставете LED щифтовете в стиропора. Важно! Уверете се, че сте поставили всички светодиоди с една и съща ориентация. В нашия случай избрахме изходния щифт да е вляво.
  • 02: Сега поставете дървените пръчки за шиш от двете страни на светодиодите в редици, като се уверите, че всички точки са обърнати в една и съща посока. Залепете пръчката към страните на LED крушките и оставете да изсъхне.
  • 03: Направете същото за колоните от дървени пръчки за шиш от двете страни на светодиодите, като се уверите, че всички точки са обърнати в една и съща посока. Залепете и оставете да изсъхне.
  • 04: Внимателно отстранете, като разхлабите светодиодите наоколо. Повдигнете панела и го обърнете. Залепете задната страна, така че да е по -сигурна.
  • 05: След като всичко изсъхне, огънете щифтовете, за да улесните запояването и да предотвратите пресичането на електрически линии. Използваме пинсета и огъваме щифта от близо до основата.
  • 06: Сега подгответе проводниците. Използвахме стар Ethernet кабел, който има проводници с 4 усукани двойки. Премахнете изолацията, като внимавате да не отрежете малките проводници. След това развъртете, изберете цветовете си, за да съответстват на различните линии, и изрежете до правилната дължина между светодиодите. След това отстранете малко изолация от краищата. Избрахме земята = зелено, Vdc = синьо, данните в/изход = бяло.
  • 07: Спойка! Има много връзки (64x4), така че внимавайте да запоявате правилно.
  • 08: Свалете панела и го поставете върху основата от пяна!

Стъпка 3: Направете джойстика

Направете джойстика
Направете джойстика
Направете джойстика
Направете джойстика

Използвахме макет, за да направим джойстика за навигация в мрежата и избор. Поставихме джъмпери, резистори и бутони, за да образуваме веригата (вижте диаграмата), която определя контролера на посоката (6 бутона, 1 за всяка посока) и бутона за избор (влиза в хода на играча). 5V и земята са свързани към съответните портове на Arduino. За аналоговите и цифровите входни щифтове избрахме съответно портовете Arduino A5 и 2.

Бутонът за избор има основна схема с резистор против сгъстяване. Командата за посока се основава на резисторна стълба, която работи като верига на делителя на напрежение: напрежението към аналоговия вход зависи от натиснатия бутон и се интерпретира от Arduino като една командна посока.

Стъпка 4: Напишете кода

Напишете кода
Напишете кода

Качихме нашия код, за да го използвате:) Първо направете електрическите връзки към Arduino. Поставихме мини дъска до Arduino, за да стане малко по -лесно. Свързахме Arduino "GND" и "5V" към 2 линии на хлебния хляб, където след това включихме съответното заземяване и Vdc от всеки панел. За Data-In и Data-Out избрахме 4 различни щифта Arduino, 13, 10, 7 и 4 за всеки от панелите. Светодиодите PL9823 могат да бъдат адресирани индивидуално чрез последователния номер на светодиода. Например, ако искате да включите първия светодиод в определен цвят, адресирайте светодиода [0]. За 16 -ти светодиод, адрес LED [15]. Сега сте готови да кодирате и да играете с красивите светлини! По-долу е дадено общо обяснение на кода на 3D играта с кърлежи.

Кодът на играта 3D4x

Ние използваме библиотеката fastled.h, която ни позволява да управляваме микроконтролираните светодиоди.

Кубът се запаметява виртуално в триизмерния масив „TTTMap“, където всеки елемент може да бъде в 1 от 5 състояния според съответната светлина е собственост на: 0 = без играч, 1 = играч 1, 2 = играч 2, 3 = играч 1 в печеливша комбинация и 3 = играч 2 в печеливша комбинация. За да се съпоставят елементите на виртуалния куб в TTTMap с реалните светодиоди, се използват целочислените масиви LEDMap0, LEDMap1, LEDMap2, LEDMap3.

Функцията „настройка“инициализира портовете Arduino, свързани към панела, инициализира всички светодиоди на „черни“и инициализира елементите на масива TTTMap на 0.

Функцията „цикъл“изпълнява функциите „ReadButtonInput ()“, „SendLED ()“и, в случай че един играч спечели, функцията „VictoryAnimation ()“. Първата функция чете аналоговия вход на командата за посока и цифровия вход на бутона за избор. Булевите променливи “ButtonPushed” и “SelectPushed” се използват, за да се избегне повтарянето на движението със скорост на цикъла, когато бутонът е задържан. Функцията “SendLED ()” обновява състоянията на светодиодите, като изпраща сериен контролен сигнал според данните в TTTMap. Основна функция е „CheckVictory ()“, която се извиква от „ReadButtonInput ()“всеки път, когато бутонът за избор е натиснат. Тази функция проверява дали избраната точка в пространството прави печеливша комбинация с околните щифтове. В случай на печеливша комбинация, точките в TTTMap се подписват с номер 3 или 4, според играча, който печели, и вълнуващото „VictoryAnimation ()“тече!

За да играете отново, просто натиснете бутона за нулиране на Arduino:)

Стъпка 5: Играйте с приятелите си

Играйте с приятелите си!
Играйте с приятелите си!
Играйте с приятелите си!
Играйте с приятелите си!
Играйте с приятелите си!
Играйте с приятелите си!

Тук не са необходими обяснения … НАСЛАДВАЙТЕ се!

Препоръчано: