Isi kandungan:

"Ninja Dollar" Permainan untuk Arduino: 3 Langkah
"Ninja Dollar" Permainan untuk Arduino: 3 Langkah

Video: "Ninja Dollar" Permainan untuk Arduino: 3 Langkah

Video:
Video: Ninja tercounter host tema Indonesia 2024, November
Anonim
Imej
Imej

Permainan video lain untuk arduino.it adalah permainan hebat lebih maju daripada yang terakhir saya terbitkan. Mengapa ia lebih kompleks daripada yang lain? Lebih kompleks kerana ini boleh melompat dan menembak dan mempunyai cahaya suara dan kaedah titik baru.

Bekalan

  1. Arduino.
  2. Papan roti
  3. wayar pelompat
  4. LED Merah
  5. 2 butang tekan
  6. 2 perintang 10k ohm
  7. 2 perintang 220R.
  8. LED Biru yang sangat terang.
  9. buzzer piezo
  10. Paparan LCD 16 * 2

Langkah 1: Pendawaian Semuanya Bersama

Pendawaian Semuanya Bersama
Pendawaian Semuanya Bersama

Sekarang anda perlu memasukkan semuanya

Langkah 2: Cara Bermain:

  1. Hidupkan arduino.
  2. LCD harus mencetak: "permainan dimulakan" dan undur.
  3. Tekan salah satu butang untuk melompat dan yang lain untuk menembak.
  4. setiap blok yang anda lompat anda memenangi satu mata dan setiap * yang anda perolehi memberi anda 5 mata.
  5. Apabila anda mempunyai 50 mata atau lebih tinggi anda akan menang

Langkah 3: Kodnya

// este jogo e muito interessante e ao mesmo tempo Irritante e frustante mas muito divertido.

#sertakan

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

butang const intPin1 = 1; butang const intPin2 = 6; const int buzzer = 7; pts panjang yang tidak ditandatangani = 0; // tetapkan butang butang statusstate1 = 0; butang boolState2 = 0; // nombor rawak untuk kedudukan rintangan int randomNums [6]; // nombor rawak untuk bilangan rintangan int randomNum = 0; // nombor rawak untuk kedudukan pts int randomNums1 [3]; // nombor rawak untuk bilangan titik int randomNum1 = 0; // masa kelewatan permulaan, yang menurun secara bertahap tanpa tanda di myDelay = 500; // membuat boolean ini untuk memeriksa apakah butang2 ditekan kerana jika ditekan sekali pada pertama untuk gelung, saya ingin halangan tidak ditulis sehingga akhir itu bool temp = 0; // pemboleh ubah ini menyimpan kedudukan pahlawan semasa dia menembak. boleh ada 16 posisi kerana pendekar mempunyai 16 posisi. int tempI [16]; // saya menggunakan boolean ini untuk memeriksa apakah intinya bool temp1 = 0;

// gunakan pemboleh ubah ini untuk menyimpan kedudukan titik yang ditangkap. mestilah dan susunan untuk menyimpan kedudukan semua titik dalam satu lelaran pertama untuk gelung. jika ia hanya menyimpan satu kedudukan, titik "lama" akan kembali dalam lelaran baru

int tempI1 [3]; // gunakan pemboleh ubah ini untuk memiliki sejumlah tembakan pahlawan, yang juga panjang butang tempI int array2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

batal persediaan () {

// tetapkan bilangan lajur dan baris LCD: lcd.begin (16, 2); // tetapkan mod butang pin pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buzzer, OUTPUT); lcd.setCursor (4, 0); lcd.print ("THE GAME"); lcd.setCursor (2, 1); lcd.print ("BERMULA DALAM"); lcd.print ("5"); kelewatan (1000); lcd.setCursor (12, 1); lcd.print ("4"); kelewatan (1000); lcd.setCursor (12, 1); lcd.print ("3"); kelewatan (1000); lcd.setCursor (12, 1); lcd.print ("2"); kelewatan (1000); lcd.setCursor (12, 1); lcd.print ("1"); kelewatan (1000); lcd.clear ();

}

gelung kosong () {

di sini:

randomNum = rawak (5);

untuk (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); nada (bel, 262); kelewatan (200); nada (bel, 330); kelewatan (200); nada (bel, 392); kelewatan (100); nada (bel, 330); kelewatan (100); nada (bel, 392); kelewatan (100); nada (bel, 523); kelewatan (200); noTone (bel); kelewatan (3000); lcd.clear (); pergi ke sini; } lain lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // menetapkan halangan jika pahlawan tidak menembak atau dia menembak tetapi dia juga melompat jika (! temp) {untuk (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// menetapkan mata

jika (! temp1) {untuk (int j = 0; j

}

Disyorkan: