Índice:
Vídeo: Versão 2 do jogo de corrida espacial: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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
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
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:
SIMULADOR DE JOGO DE CORRIDA DIY PARTE 1: 6 etapas
CONSTRUÇÃO DO SIMULADOR DE JOGOS DE CORRIDA DIY PARTE 1: Olá a todos Bem-vindos, Hoje vou mostrar a vocês como construo um " Simulador de jogos de corrida " com a ajuda do Arduino UNO. Canal do YouTube " certifique-se de se inscrever em meu canal A Builds (clique aqui) " Este é o blog de construção, So le
Atualize seu lançamento espacial com um botão de preparação física para o programa espacial Kerbal: 6 etapas
Atualize seu lançamento espacial com um botão de preparação física para o Kerbal Space Program: Recentemente, peguei a versão demo do Kerbal Space Program. Kerbal Space Program é um jogo simulador que permite projetar e lançar foguetes e navegá-los até luas e planetas distantes. Ainda estou tentando pousar na lua com sucesso (o
Crie seu primeiro jogo de corrida: 10 etapas
Crie seu primeiro jogo de corrida: se você fez alguma programação em Python e queria escrever um jogo, pode ter no Pygame Zero. Neste tutorial, escreveremos um jogo de corrida simples
Corrida Espacial: Jogo Arduino Clicker Simples para Fazer com as Crianças: 7 Passos
Corrida Espacial: Jogo Arduino Clicker Simples para Fazer com as Crianças: ¡ Estou enviando um vídeo mostrando como funciona hoje! Fique ligadoVamos nos divertir com um instrutível com temática espacial que pode ser feito junto com as crianças, e depois ser apreciado por elas sozinhas como um brinquedo. Você pode usá-lo como um meio para lhes ensinar história sobre co
Criando gráficos para um jogo de corrida de raspadinhas: 7 etapas
Fazendo gráficos para um jogo de corrida Scratch: Este tutorial mostrará como fazer um jogo de corrida dentro do Scratch