Índice:

Versão 2 do jogo de corrida espacial: 5 etapas
Versão 2 do jogo de corrida espacial: 5 etapas

Vídeo: Versão 2 do jogo de corrida espacial: 5 etapas

Vídeo: Versão 2 do jogo de corrida espacial: 5 etapas
Vídeo: Duelo de Titãs - Crie uma corrida espacial com Socrative 2024, Julho
Anonim
Image
Image

Olá a todos. Antes desta versão do jogo, publiquei a primeira versão do jogo. Hoje, vou mostrar-lhe a versão 2 do Jogo de Corrida Espacial. Vamos ver os passos …

Etapa 1: PARTES

ESQUEMA
ESQUEMA

Aqui está uma lista de peças que usei para fazer este projeto:

  • Arduino UNO
  • Módulo Joystick
  • Jumper Wires (macho para macho e macho para fêmea)
  • Tábua de pão

Etapa 2: ESQUEMA

VCC -> Arduino 5V

BL -> Arduino pino 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pino 8

DIN (MOSI) -> Arduino pino 9

DC -> Arduino pino 10

CE ou CS -> Arduino pino 12

RST (RESET) -> Arduino pino 11

Etapa 3: CODE

CÓDIGO
CÓDIGO

O código contém explicações sobre as funções do código. Você vai entender isso facilmente. Se você tiver um problema, pode entrar em contato comigo.

#incluir

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

boolean kontrol = true;

boolean dusmanoldu = true;

extern uint8_t SmallFont ; // descreva as fontes

extern uint8_t MediumNumbers ; extern uint8_t arac ; // descreva nossa forma extern uint8_t dusmanAraci ; // descreva a forma do inimigo const int xpin = A0; // joystick x pino char pozisyon = 3; // descreva a localização, nossa localização de início da forma 3 int BL = 3; skor int = 0; int hiz = 0; int dusmankonum1; // descreve a localização do inimigo1 x int dusmankonum2; // descreve a localização do inimigo2 x int dusmankonum3; // descreve a localização do inimigo3 x int dusmankonum4; // descreve a localização do inimigo4 x int dusmankonum5; // descreve a localização do inimigo5 x int dusmaninYdekonumu;

void oyunEkrani () {// definir tela do jogo

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // desenhamos o retângulo lcd.setFont (SmallFont); // definir a fonte lcd.print ("skor", 57, 1); // imprime a pontuação lcd.print ("hiz", 60, 24); // velocidade de impressão lcd.setFont (MediumNumbers); // definir a fonte lcd.printNumI (skor, 55, 8); // obtém pontuação lcd.printNumI (hiz, 63, 32); // obtém velocidade lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// definir locais para formas inimigas

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 desenhe a forma do inimigo neste local if (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 () {// se falharmos, o jogo acaba

enquanto (1) {atraso (100); // aguarde 1 milissegundo lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // imprime o jogo sobre lcd.print ("skorunuz =", 3, 30); // imprime sua pontuação lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // obtém a última pontuação lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // define a luz de fundo Output pinMode (xpin, INPUT); // define o pino x como uma entrada lcd. InitLCD (); // inicie a tela lcd lcd.setContrast (55); // define o contraste (entre 0 e 127) Serial.begin (9600); // inicia a comunicação serial}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // definir a localização do 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 state> 600 e o controle são verdadeiros pozisyon ++; // aumentar a localização significa mover a forma para a direita kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // estado da posição… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // desenhar nosso navio if (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 ();}

if (dusmanoldu) {// se a forma do inimigo está morta, verifique se eles estão mortos

dusmankonum1 = pozisyon; // desenha a primeira forma inimiga dusmankonum2 = random (0, 6); // desenha outra forma inimiga em algum lugar dusmankonum3 = random (0, 6); dusmankonum4 = aleatório (0, 6); dusmankonum5 = aleatório (0, 6); dusmaninYdekonumu = 0; // traga o inimigo do topo dusmanoldu = false;} // o inimigo é recriado para que não morram

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // desenhe a forma do primeiro inimigo e pegue-a de cima para baixo

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // desenha a segunda forma do inimigo e pega-a de cima para baixo dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// se nossa forma tocar as formas inimigas oyunbitti (); //o jogo acabou }

if (dusmaninYdekonumu> 42) {// se nossa forma escapar dos inimigos

dusmanoldu = verdadeiro; // mata formas inimigas skor ++; // aumenta a pontuação um a um}

// skora gore hizi artiriyoruz // aumenta a velocidade de acordo com a pontuação

if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; atraso (5); }

}

Etapa 4: CODE BITMAP

Além disso, você deve incluir gráfico de bitmap para formas. Deve ser um arquivo.c.

#include // incluir para a função progmem

const unsigned char arac PROGMEM = {// nosso bitmap de forma

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

const unsigned char dusmanAraci PROGMEM = {// bitmap do navio inimigo

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

Etapa 5: Obrigado por ver

Significado de algumas palavras:

Oyun => Jogo

Arac => Forma

Dusman => Inimigo

kontrol => controle

Konum, Yer => Localização

Oyun Bitti => Game Over

Skor => Pontuação

Hiz => Velocidade

Recomendado: