Innehållsförteckning:

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

Video: Space Race Game Version 2: 5 steg

Video: Space Race Game Version 2: 5 steg
Video: Steven Meets Universe (Lost Episode!) 2024, December
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

Rekommenderad: