Space Race Game Version 2: 5 steg
Space Race Game Version 2: 5 steg
Anonim
Image
Image

Hej allihopa. Innan den här spelversionen publicerade jag den första versionen av spelet. Idag visar jag Space Race Game version 2. Låt oss titta på steg …

Steg 1: DELAR

SCHEMA
SCHEMA

Här är en lista över delar som jag använde för att göra detta projekt:

  • Arduino UNO
  • Joystick -modul
  • Jumper Wires (man till man och man till kvinna)
  • Bakbord

Steg 2: SCHEMA

VCC -> Arduino 5V

BL -> Arduino stift 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pin 8

DIN (MOSI) -> Arduino stift 9

DC -> Arduino stift 10

CE eller CS -> Arduino pin 12

RST (ÅTERSTÄLL) -> Arduino -stift 11

Steg 3: KOD

KODA
KODA

Koden har förklaringar av kodfunktioner. Du kommer lätt att förstå det. Om du har problem kan du kontakta mig.

#omfatta

LCD5110 lcd (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)

booleskt kontroll = sant;

booleska dusmanoldu = true;

extern uint8_t SmallFont ; // beskriv typsnitt

extern uint8_t MediumNumbers ; extern uint8_t arac ; // beskriv vår form extern uint8_t dusmanAraci ; // beskriv fiendeform const int xpin = A0; // joystick x pin pin char pozisyon = 3; // beskriv platsen, vår form startplats 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskriv fiende1 x plats int dusmankonum2; // beskriv fiende2 x plats int dusmankonum3; // beskriv fiende3 x plats int dusmankonum4; // beskriv fiende4 x plats int dusmankonum5; // beskriv fiende5 x plats int dusmaninYdekonumu;

void oyunEkrani () {// ställ in spelskärm

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vi ritar rektangel lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // utskriftshastighet lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 55, 8); // få poäng lcd.printNumI (hiz, 63, 32); // få hastighet lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// ange platser för fiendens former

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 rita fienden form denna plats om (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 () {// om vi misslyckas, är spelet över

medan (1) {delay (100); // vänta 1 milisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // skriv ut spel över lcd.print ("skorunuz =", 3, 30); // skriv ut din poäng lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // få sista poäng lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // återställ ljus Output pinMode (xpin, INPUT); // ställ in x pin som ingång lcd. InitLCD (); // initilaze lcd screen lcd.setContrast (55); // ställ in kontrast (mellan 0 och 127) Serial.begin (9600); // starta seriell kommunikation}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu … // ställ in joyistick -platsen …

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x state> 600 och kontrollen är sann pozisyon ++; // öka platsen det betyder flytta form till höger kontroll = false; } annars if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // position state … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // rita vårt skepp om (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 ();}

om (dusmanoldu) {// om fiendens form är död, kontrollera om de är döda

dusmankonum1 = pozisyon; // rita första fiendens form dusmankonum2 = slumpmässigt (0, 6); // rita en annan fiendens form någonstans dusmankonum3 = random (0, 6); dusmankonum4 = slumpmässig (0, 6); dusmankonum5 = slumpmässig (0, 6); dusmaninYdekonumu = 0; // ta med fienden från toppen dusmanoldu = false;} // fienden återskapas så att de inte är döda

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // rita första fiendens form och få den uppifrån och ner

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // rita andra fiendens form och få den uppifrån och ner dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// om vår form berör fiendens former oyunbitti (); //spelet är över }

if (dusmaninYdekonumu> 42) {// om vår form flyr från fiender

dusmanoldu = sant; // döda fiendens former skor ++; // öka poängen en efter en}

// skora gore hizi artiriyoruz // öka hastigheten enligt poäng

if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; fördröjning (5); }

}

Steg 4: KODBITMAPP

Dessutom måste du inkludera bitmappsgrafik för former. Det måste vara en.c -fil.

#include // include för programfunktion

const osignerad char arac PROGMEM = {// vår form bitmapp

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

const osignerad char dusmanAraci PROGMEM = {// fiendens skepps bitmapp

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

Steg 5: Tack för att du tittade

Betydelse av några ord:

Oyun => Spel

Arac => Form

Dusman => Fiend

kontroll => kontroll

Konum, Yer => Plats

Oyun Bitti => Game Over

Skor => Poäng

Hiz => Hastighet