Სარჩევი:

Arduino– ზე მსოფლიოს უმძიმესი თამაშის ხელახლა შექმნა: 7 ნაბიჯი
Arduino– ზე მსოფლიოს უმძიმესი თამაშის ხელახლა შექმნა: 7 ნაბიჯი

ვიდეო: Arduino– ზე მსოფლიოს უმძიმესი თამაშის ხელახლა შექმნა: 7 ნაბიჯი

ვიდეო: Arduino– ზე მსოფლიოს უმძიმესი თამაშის ხელახლა შექმნა: 7 ნაბიჯი
ვიდეო: 1. რა არის Arduino? როგორ მუშაობს კომპიუტერი? 2024, ივლისი
Anonim
Image
Image

ეს პროექტი დაფუძნებულია კომპიუტერულ თამაშზე, რომელსაც ინტერნეტში ნახავთ. მისი სახელია "მსოფლიოს უმძიმესი თამაში". მე შევძელი მისი ხელახლა შექმნა Arduino– ზე ოთხი მოდულის LED მატრიცის გამოყენებით. ამ გაკვეთილზე მე გასწავლით თუ როგორ უნდა ააწყოთ იგი საკუთარ თავს. სანამ ძალიან ბევრ დეტალს შევეხებით, მინდა მოკლედ მიმოვიხილო ის ნაბიჯები, რაც მე გავიარე ამ თამაშის შესაქმნელად.

  1. მე შევიკრიბე ყველა საჭირო ნაწილი.
  2. ნაწილები ერთმანეთთან დავაკავშირე.
  3. მე დავწერე ესკიზი, რომლითაც ჯოისტიკი გადადიოდა მოთამაშეების LED ყველა მოდულზე.
  4. მე შევქმენი პირველი დაბრკოლებები და დავამატე ესკიზში, რათა მათ ემსგავსებინათ მსოფლიოს უმძიმესი თამაში.
  5. შემდეგ დავამატე კოდი დაბრკოლებებთან შეჯახების გამოსავლენად, რაც განაახლებს თამაშს.
  6. შემდეგ მე შევქმენი დაბრკოლებების კიდევ ორი დონე.

ნაბიჯი 1: ყველა ნაწილი

ყველა ნაწილი
ყველა ნაწილი
ყველა ნაწილი
ყველა ნაწილი

აქ არის ყველა საჭირო ნაწილის სია:

  1. Arduino UNO და USB კონექტორი:
  2. ოთხი მოდული 8x8: LED მატრიცა
  3. ჯოისტიკი:
  4. 10 მამაკაცი მდედრობითი მავთული:

ნაბიჯი 2: როგორ დააკავშიროთ ნაწილები არდუინოსთან

როგორ დააკავშიროთ ნაწილები არდუინოსთან
როგორ დააკავშიროთ ნაწილები არდუინოსთან

როგორ დააკავშიროთ LED მატრიცა არდუინოსთან

  1. GND გადადის GND– ზე
  2. VCC მიდის 5V– მდე
  3. DataIn გადადის ციფრულ პინ 12 -ზე
  4. CLK გადადის ციფრულ პინზე 11
  5. CS ან LOAD გადადის ციფრულ პინზე 10

როგორ დააკავშიროთ ჯოისტიკი

  1. GND გადადის GND– ზე
  2. 5V მიდის 5V– მდე
  3. VRx გადადის ანალოგიურ პინზე A0
  4. VRy გადადის ანალოგიურ პინზე A1
  5. SW არ გამოიყენება

აკუმულატორი უკავშირდება 9 ვ ჯეკს, რათა მისცეს არდუინოს სიმძლავრე

ნაბიჯი 3: პროგრამის დიაგრამა

პროგრამის დიაგრამა
პროგრამის დიაგრამა

ოვალური მიუთითებს პროგრამის დაწყებაზე.

პირველი ნაბიჯი არის ყველა დაბრკოლების განსაზღვრა.

შემდეგი ორი ნაბიჯი მიუთითებს ცვლადების დაყენებაზე და ყველა მოდულის ჩართვაზე.

შემდეგი ნაბიჯი არის LED- ების დაყენება პირველ დონეზე და ნებისმიერი სხვა ცვლადი.

შემდეგი აჩვენეთ ის დონე, რომელზედაც ამჟამად არის მოთამაშე.

რომბი მიუთითებს ჯოისტიკის კითხვისას, რათა ნახოთ რა მიმართულებით მიდის იგი.

შემდეგ გადაიტანეთ მოთამაშე რა მიმართულებითაც ჯოისტიკი აიძულა.

შეამოწმეთ და ნახეთ თუ არა მოთამაშე შეეჯახა დაბრკოლებას.

თუ მოთამაშემ დაბრკოლებას მიაღწია, დაუბრუნდით პირველ დონეს. თუ არა, შეამოწმეთ, მიაღწია თუ არა მოთამაშემ დონის ბოლოს.

თუ მოთამაშე არის დონის ბოლოს, დააყენეთ შემდეგ დონეზე და დაბრუნდით "ამჟამინდელი დონის ჩვენება". თუ ისინი არ არიან ბოლოს, გადაადგილეთ დაბრკოლებები და დაუბრუნდით "წაიკითხეთ ჯოისტიკი".

ნაბიჯი 4: ჯოისტიკის პროგრამირება

რა თქმა უნდა იმისათვის, რომ გადავიტანოთ პატარა წერტილი, რომელიც არის მოთამაშე, ჩვენ გვჭირდება ჯოისტიკი. და იმისათვის, რომ ჯოისტიკს შეეძლოს მოთამაშის რეალურად გადატანა, ჩვენ გვჭირდება მისი კოდი Arduino IDE- ში. თქვენ უნდა შეიტანოთ LedControl ბიბლიოთეკა, რომელიც შეგიძლიათ იპოვოთ ესკიზის მენიუში> ბიბლიოთეკების ჩართვა> ბიბლიოთეკების მართვა და LedControl- ის ძებნა. აი, როგორ გამოიყურება ჯოისტიკის კოდი.

#მოიცავს "LedControl.h"

int DataIn = 12; int CLK = 11; int DIN = 10; LedControl lc = LedControl (DataIn, CLK, DIN, 4); // ქმნის ობიექტს ოთხი მოდულისთვის int delaytime = 50; // სიჩქარე, რომლის დროსაც თამაში გადის int joystick_RtLt, joystick_UpDn; int players_x = 0; // მოთამაშეების ჰორიზონტალური პოზიცია 0 -დან 31 int players_y = 3; // მოთამაშეების ვერტიკალური პოზიცია 0 -დან 7 int რიგის, სვეტის, მოდულის; void setup () {initialize_modules (); // ჩართეთ და დააყენეთ ოთხივე led მოდული} void loop () {move_player (); // მარყუჟის დაწყება იმის შემოწმებით, გადადის თუ არა მოთამაშე დაგვიანებით (დაგვიანების დრო); } void initialize_modules () {lc.shutdown (0, false); // იწყებს მოდულს 0 lc.setIntensity (0, 1); lc. გამორთვა (1, ყალბი); // იწყებს მოდულის 1 ლ. setIntensity (1, 1); lc. გამორთვა (2, ყალბი); // იწყებს მოდულის 2 ლ. setIntensity (2, 1); lc. გამორთვა (3, ყალბი); // იწყებს მოდულის 3 ლ. setIntensity (3, 1); lc.clearDisplay (0); // ასუფთავებს მოდულს 0} void move_player () {მოდული = players_x/8; // განსაზღვრავს რომელ მოდულზეა მოთამაშე სვეტში = players_x%8; // განსაზღვრავს სვეტს, სადაც მოთამაშე არის მოდულის რიგში = players_y; lc.setLed (მოდული, მწკრივი, სვეტი, ყალბი); // გამორთეთ led მოთამაშის ამჟამინდელ პოზიციაზე joystick_RtLt = analogRead (A0)/204 - 2; // წაიკითხეთ X- ჯოისტიკი და რუქის დიაპაზონი 2 -დან -2 -მდე თუ (joystick_RtLt> 0) // როდესაც ჯოისტიკი არის მარჯვენა მოთამაშეებისათვის_x ++; // წადი მარჯვნივ სხვაგან (joystick_RtLt 0) // თუ ჯოისტიკი მარცხნივ არის და არა დასაწყისში players_x--; // გადაადგილება მარცხენა ჯოისტიკი_უპდნი = ანალოგიკითხვა (A1)/204 - 2; // წაიკითხეთ Y- ჯოისტიკი და რუქის დიაპაზონი 2-დან -2 მდე (joystick_UpDn 0) // თუ ჯოისტიკი დაბლაა და მოთამაშე არ არის ბოლოში players_y--; // გადაადგილება სხვაგან თუ (joystick_UpDn> 0 && players_y <7) // თუ ჯოისტიკი მაღლაა და მოთამაშე არ არის ზედა players_y ++; // მოდულის ასვლა = players_x/8; // მოდულის დაყენება მოთამაშეებზე ახალი პოზიციის სვეტი = players_x%8; // სვეტის დაყენება მოთამაშეებზე ახალი პოზიციის რიგი = players_y; // რიგის დაყენება მოთამაშეებზე ახალი პოზიცია lc.setLed (მოდული, მწკრივი, სვეტი, ჭეშმარიტი); // ჩართეთ led მოთამაშის ახალ პოზიციაზე}

ახლა, როდესაც თქვენ დაამატეთ ჯოისტიკი, მოდით ვიმუშაოთ პირველ დაბრკოლებაზე!

ნაბიჯი 5: პირველი დონე

კარგი, ახლა დროა შეხვიდეთ პროგრამის მთავარ ნაწილში, დაბრკოლებებზე! დაბრკოლებები არის ის, რაც ნამდვილად აქცევს "მსოფლიოს უმძიმეს თამაშს". ასე რომ, თუ გსურთ რეალურად ითამაშოთ თამაში, თქვენ უნდა დაამატოთ ეს თქვენს კოდს:

ბაიტი დაბრკოლება [LEVELS] [სცენები] [სვეტები] [ROWS] = {// სამი დონე, 8 სცენა, 8 კოლიუმი, 8 რიგი

{{{1, 1, 1, 1, 1, 1, 0, 0}, // პირველი დონე, პირველი სცენა {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 1, 1, 1, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // პირველი დონე, მეორე სცენა {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 1, 1, 1, 1 }, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 1, 1, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // პირველი დონე, მესამე სცენა {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 1, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // პირველი დონე, მეოთხე სცენა {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, // პირველი დონე, მეხუთე სცენა {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 0, 0, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, // პირველი დონე, მეექვსე სცენა {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, { 1, 1, 1, 1, 1, 0, 0, 1,}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 1, 1, 1, 1, 1, 1}, // პირველი დონე, მეშვიდე სცენა {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0 }, {1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 1, 1, 1, 1, 1, 1, 1}, // პირველი დონე, მერვე სცენა {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}}, void setup () {initialize_modules (); // ჩართეთ და დააყენეთ ოთხივე led მოდული start_level (0); void loop () {move_player (); // დაიწყეთ მარყუჟი იმის შემოწმებით, მოძრაობს თუ არა მოთამაშე if (შეჯახება ()) {// შეამოწმეთ შეჯახების დონე = 0; // თუ შეჯახება მართალია, გადატვირთეთ დონის start_level (დონე); // გადატვირთეთ თამაში} სხვა შემთხვევაში დაგვიანების_თვლა = 0; } else delay_count ++; დაგვიანება (დაგვიანების დრო); // შეფერხება თამაშის სიჩქარით}

და ეს არის პირველი დაბრკოლება! თუ მოგბეზრდებათ ეს, როგორც თქვენი პირველი დონე, თქვენ ყოველთვის შეგიძლიათ შეცვალოთ ბაიტი, უბრალოდ გახსოვდეთ, რომ რვა განსხვავებული სცენა უნდა გქონდეთ! გავაგრძელოთ შემდეგი ნაბიჯი, შეჯახების გამოვლენა!

ნაბიჯი 6: შეჯახების გამოვლენა

ეს ნაბიჯი არის თამაშის კიდევ ერთი მნიშვნელოვანი ნაწილი, მის გარეშე დიდი გამოწვევა არ იქნება! თქვენ უბრალოდ შეძლებთ თქვენი დაბრკოლებების გადალახვას ყოველგვარი შედეგის გარეშე! ეს არ იქნება ძალიან სახალისო არა? მოდით გავხადოთ თამაში უფრო რთული (და ბევრად უფრო გასართობი!) პროგრამის ამ მონაკვეთის დამატებით:

ბათილი მარყუჟი () {

move_player (); // დაიწყეთ მარყუჟი იმის შემოწმებით, მოძრაობს თუ არა მოთამაშე if (შეჯახება ()) {// შეამოწმეთ შეჯახების დონე = 0; // თუ შეჯახება მართალია, გადატვირთეთ დონის start_level (დონე); // გადატვირთეთ თამაში} სხვა შემთხვევაში დაგვიანების_თვლა = 0; } else delay_count ++; დაგვიანება (დაგვიანების დრო); // თამაშის სიჩქარით შეფერხება} int შეჯახება () {// შეამოწმეთ თუ არა მოთამაშემ შეასრულა დაბრკოლება სცენის მოდულში = players_x/8; სვეტი = players_x%8; მწკრივი = players_y; თუ (მოდული> 0) თუ (დაბრკოლება [დონე] [სცენა] [სვეტი] [რიგი] == 1) // თუ მოთამაშის პოზიცია იგივეა, რაც დაბრკოლების დაბრუნება (1); // აღმოჩენილი შეჯახება დააბრუნე ნამდვილი დაბრუნება (0); // შეჯახების დაბრუნება ცრუ}

და აი შენ წადი! ახლა თქვენ შეგიძლიათ დატკბეთ თამაშით ბევრად მეტი! ახლა მე ვაპირებ გაჩვენოთ როგორ დავგეგმოთ თამაშის ბოლო ორი დონე! თქვენ თითქმის დაასრულეთ ეს სასწავლო ინსტრუქცია და დარწმუნებული ვარ, მზად ხართ სცადოთ!

ნაბიჯი 7: ბოლო ორი დონე

დასასრულის დასასრულს ვასრულებდით, ეს ბოლო ორი დონე არის ის, რაც გჭირდებათ ამ თამაშის დასასრულებლად. შემდეგ თქვენ შეგიძლიათ სცადოთ ის თქვენთვის! აქ არის კოდი:

ბაიტი დაბრკოლება [LEVELS] [სცენები] [სვეტები] [ROWS] = {// მეორე და მესამე დონე, 8 სცენა, 8 სვეტი, 8 მწკრივი

{{{1, 0, 0, 0, 0, 0, 0, 1}, // მეორე დონე, პირველი სცენა {0, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, { 0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 0, 1}}, {{1, 1, 0, 0, 0, 0, 0, 1}, // მეორე დონე, მეორე სცენა {0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 0, 0 }, {0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 1}}, {{0, 1, 0, 0, 0, 0, 0, 0}, // მეორე დონე, მესამე სცენა {0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 1, 0}}, {{0, 0, 1, 0, 0, 0, 0, 0}, // მეორე დონის მეოთხე სცენა {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {0, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}}, {{0, 0, 0, 1, 0, 0, 0, 0}, // მეორე დონე, ხუთი ე სცენა {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 1, 1, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 0}, // მეორე დონე, მეექვსე სცენა {0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 1, 1}, {0, 0, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 1, 0, 0}, // მეორე დონე, მეშვიდე სცენა {0, 0, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 0, 1, 0}, // მეორე დონის მერვე სცენა {1, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0}}}, {{{0 0, 1, 0, 0, 0, 0, 0, 1}, // მესამე დონე, პირველი სცენა {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 0, 0} }, {{0, 0, 0, 0, 1, 0, 0, 1}, // მესამე დონე, მეორე სცენა {1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // მესამე დონე, მესამე სცენა {0, 0, 0, 1, 0, 0, 1, 0}, { 0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 1}, // მესამე დონე, მეოთხე სცენა {1, 0, 0, 1, 0, 0, 1, 0 }, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // მესამე დონე, მეხუთე სცენა {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 1}, // მესამე დონე, მეექვსე სცენა {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // მესამე დონე, მეშვიდე სცენა {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 0}, // მესამე დონე, მერვე სცენა { 1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}}};

და ეს არის ის! თქვენ მზად ხართ შეასრულოთ მსოფლიოს უმძიმესი თამაში. ასევე Arduino– ს სრული კოდი მოცემულია ქვემოთ.

გირჩევთ: