Πίνακας περιεχομένων:

Space Race Game Έκδοση 2: 5 Βήματα
Space Race Game Έκδοση 2: 5 Βήματα

Βίντεο: Space Race Game Έκδοση 2: 5 Βήματα

Βίντεο: Space Race Game Έκδοση 2: 5 Βήματα
Βίντεο: Evolution from ape to man. From Proconsul to Homo heidelbergensis 2024, Ιούλιος
Anonim
Image
Image

Γεια σε όλους. Πριν από αυτήν την έκδοση παιχνιδιού, η ı δημοσίευσε την πρώτη έκδοση του παιχνιδιού. Σήμερα, το ı θα σας δείξει Space Race Game έκδοση 2. Ας δούμε βήματα…

Βήμα 1: ΜΕΡΗ

ΣΧΗΜΑ
ΣΧΗΜΑ

Ακολουθεί μια λίστα με τα μέρη που χρησιμοποίησα για να φτιάξω αυτό το έργο:

  • Arduino UNO
  • Ενότητα Joystick
  • Jumper Wires (αρσενικό σε αρσενικό και αρσενικό σε θηλυκό)
  • Breadboard

Βήμα 2: SCHEMA

VCC -> Arduino 5V

BL -> καρφίτσα Arduino 3

GND -> Arduino GND

CLK (SCLK) -> Καρφίτσα Arduino 8

DIN (MOSI) -> Καρφίτσα Arduino 9

DC -> καρφίτσα Arduino 10

CE ή CS -> Arduino pin 12

RST (ΕΠΑΝΑΦΟΡΑ) -> Καρφίτσα Arduino 11

Βήμα 3: ΚΩΔ

ΚΩΔΙΚΑΣ
ΚΩΔΙΚΑΣ

Ο κώδικας έχει επεξηγήσεις για τις συναρτήσεις κώδικα. Θα το καταλάβεις εύκολα. Αν έχετε πρόβλημα, μπορείτε να επικοινωνήσετε μαζί μου.

#περιλαμβάνω

LCD5110 LCD (8, 9, 10, 11, 12). // (clk, cin, dc,, rst, ce)

boolean kontrol = true?

boolean dusmanoldu = αλήθεια?

extern uint8_t SmallFont ; // περιγράψτε τις γραμματοσειρές

extern uint8_t MediumNumbers ; extern uint8_t arac ; // περιγράψτε το σχήμα μας εξωτερικά uint8_t dusmanAraci ; // περιγραφή σχήματος εχθρού const int xpin = A0; // joystick x pin char pozisyon = 3; // περιγράψτε την τοποθεσία, τη θέση έναρξης του σχήματός μας 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // περιγράψτε τον εχθρό1 x θέση int dusmankonum2; // περιγράψτε τον εχθρό2x θέση int dusmankonum3; // περιγράψτε τον εχθρό3 x θέση int dusmankonum4; // περιγράψτε τον εχθρό4 x θέση int dusmankonum5; // περιγράψτε τον εχθρό5 x τοποθεσία int dusmaninYdekonumu;

void oyunEkrani () {// ορίστε την οθόνη του παιχνιδιού

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // σχεδιάζουμε ορθογώνιο lcd.setFont (SmallFont); // ορίστε γραμματοσειρά lcd.print ("skor", 57, 1); // βαθμολογία εκτύπωσης lcd.print ("hiz", 60, 24); // ταχύτητα εκτύπωσης lcd.setFont (MediumNumbers); // ορίστε γραμματοσειρά lcd.printNumI (skor, 55, 8); // λάβετε βαθμολογία lcd.printNumI (hiz, 63, 32); // λάβετε ταχύτητα lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// ορίστε τοποθεσίες για σχήματα εχθρού

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 draw εχθρός διαμορφώνει αυτήν την τοποθεσία εάν (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } if (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 6) {lcd.drawBitmap (42, asama, dusmanAraci, 7, 7); lcd.update ();}}

void oyunbitti () {// αν αποτύχουμε, το παιχνίδι τελείωσε

ενώ (1) {καθυστέρηση (100)? // περιμένετε 1 χιλιοστό δευτερολέπτου lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // εκτύπωση παιχνιδιού μέσω lcd.print ("skorunuz =", 3, 30); // εκτυπώστε τη βαθμολογία σας lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // λάβετε την τελευταία βαθμολογία lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // ρύθμιση πίσω φωτός Έξοδος pinMode (xpin, INPUT); // ορίστε το x pin ως είσοδο lcd. InitLCD (); // προετοιμάστε την οθόνη LCD lcd.setContrast (55); // ρύθμιση αντίθεσης (από 0 έως 127) Serial.begin (9600); // έναρξη σειριακής επικοινωνίας}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // ορίστε τη θέση του joyistick…

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x κατάσταση> 600 και ο έλεγχος είναι αληθινός pozisyon ++? // αύξηση της τοποθεσίας σημαίνει μετακίνηση σχήματος προς τα δεξιά kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // κατάσταση θέσης… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // σχεδιάστε το πλοίο μας εάν (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}

εάν (dusmanoldu) {// εάν το σχήμα του εχθρού είναι νεκρό, ελέγξτε αν είναι νεκρά

dusmankonum1 = pozisyon; // σχεδιάστε το πρώτο σχήμα του εχθρού dusmankonum2 = τυχαίο (0, 6); // σχεδιάστε ένα άλλο σχήμα εχθρού κάπου dusmankonum3 = τυχαίο (0, 6); dusmankonum4 = τυχαίο (0, 6); dusmankonum5 = τυχαίο (0, 6); dusmaninYdekonumu = 0; // φέρτε τον εχθρό από την κορυφή dusmanoldu = false;} // ο εχθρός αναδημιουργείται έτσι ώστε να μην είναι νεκροί

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu) · dusmaninYdekonumu ++; // σχεδιάστε το πρώτο σχήμα του εχθρού και πάρτε το από πάνω προς τα κάτω

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu) · dusmaninYdekonumu ++; // σχεδιάστε το δεύτερο σχήμα του εχθρού και πάρτε το από πάνω προς τα κάτω dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu) · dusmaninYdekonumu ++; αν (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// αν το σχήμα μας αγγίζει τον εχθρό σχηματίζει oyunbitti (); //το παιχνίδι τελείωσε }

εάν (dusmaninYdekonumu> 42) {// εάν το σχήμα μας ξεφύγει από τους εχθρούς

dusmanoldu = αλήθεια? // σκοτώστε τα σχήματα του εχθρού skor ++; // αυξήστε ένα προς ένα τη βαθμολογία}

// skora gore hizi artiriyoruz // αύξηση ταχύτητας ανάλογα με τη βαθμολογία

εάν (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; καθυστέρηση (5)? }

}

Βήμα 4: ΚΩΔΙΚΟΣ BITMAP

Επιπλέον, πρέπει να συμπεριλάβετε γραφικά bitmap για σχήματα. Πρέπει να είναι αρχείο.c.

#include // include για λειτουργία progmem

const unsigned char arac PROGMEM = {// το bitmap του σχήματός μας

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

const unsigned char dusmanAraci PROGMEM = {// bitmap του εχθρικού πλοίου

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

Βήμα 5: Ευχαριστούμε για την προβολή

Σημασία μερικών λέξεων:

Oyun => Παιχνίδι

Arac => Σχήμα

Dusman => Εχθρός

έλεγχος => έλεγχος

Konum, Yer => Τοποθεσία

Oyun Bitti => Το παιχνίδι τελείωσε

Σκορ => Βαθμολογία

Hiz => Ταχύτητα

Συνιστάται: