Tabla de contenido:
Video: Space Race Game Versión 2: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Hola a todos. Antes de esta versión del juego, publiqué la primera versión del juego. Hoy, te mostraré la versión 2 del juego Space Race. Veamos los pasos …
Paso 1: PIEZAS
Aquí hay una lista de partes que utilicé para hacer este proyecto:
- Arduino UNO
- Módulo de joystick
- Cables de puente (macho a macho y macho a hembra)
- Tablero de circuitos
Paso 2: ESQUEMA
VCC -> Arduino 5V
BL -> Pin 3 de Arduino
GND -> Arduino GND
CLK (SCLK) -> Pin 8 de Arduino
DIN (MOSI) -> Pin 9 de Arduino
DC -> Pin 10 de Arduino
CE o CS -> Pin 12 de Arduino
RST (RESET) -> Pin 11 de Arduino
Paso 3: CÓDIGO
El código tiene explicaciones de las funciones del código. Lo entenderá fácilmente. Si tienes algún problema, puedes contactarme.
#incluir
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, cin, dc, rst, ce)
kontrol booleano = verdadero;
booleano dusmanoldu = verdadero;
extern uint8_t SmallFont ; // describe las fuentes
extern uint8_t MediumNumbers ; extern uint8_t arac ; // describe nuestra forma extern uint8_t dusmanAraci ; // describe la forma del enemigo const int xpin = A0; // joystick x pin char pozisyon = 3; // describe la ubicación, la ubicación de inicio de nuestra forma 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // describe enemigo1 x ubicación int dusmankonum2; // describe enemigo2 x ubicación int dusmankonum3; // describe enemigo3 x ubicación int dusmankonum4; // describe enemigo4 x ubicación int dusmankonum5; // describe enemigo5 x ubicación int dusmaninYdekonumu;
void oyunEkrani () {// establecer la pantalla del juego
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // dibujamos el rectángulo lcd.setFont (SmallFont); // establecer fuente lcd.print ("skor", 57, 1); // imprimir puntuación lcd.print ("hiz", 60, 24); // velocidad de impresión lcd.setFont (MediumNumbers); // establece la fuente lcd.printNumI (skor, 55, 8); // obtener puntuación lcd.printNumI (hiz, 63, 32); // obtener velocidad lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// establecer ubicaciones para las formas enemigas
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 dibuja la forma del enemigo en esta ubicación 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 () {// si fallamos, el juego termina
while (1) {retraso (100); // espera 1 milisegundo lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTRO, 8); // imprime el juego sobre lcd.print ("skorunuz =", 3, 30); // imprime tu partitura lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // obtener la última puntuación lcd.update (); }}
configuración vacía () {
pinMode (BL, SALIDA); // establecer la salida de luz de fondo pinMode (xpin, INPUT); // establece x pin como entrada lcd. InitLCD (); // iniciar la pantalla lcd lcd.setContrast (55); // establecer contraste (de 0 a 127) Serial.begin (9600); // iniciar la comunicación en serie}
bucle vacío () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu… // establece la ubicación de 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 y el control es verdadero pozisyon ++; // aumentar la ubicación significa mover la forma a la derecha kontrol = false; } más si (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // estado de la posición… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // dibujamos nuestro barco 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) {// si la forma del enemigo está muerta, verifica si están muertos
dusmankonum1 = pozisyon; // dibuja la primera forma enemiga dusmankonum2 = random (0, 6); // dibuja otra forma enemiga en algún lugar dusmankonum3 = random (0, 6); dusmankonum4 = aleatorio (0, 6); dusmankonum5 = aleatorio (0, 6); dusmaninYdekonumu = 0; // traer al enemigo desde arriba dusmanoldu = false;} // el enemigo es recreado para que no esté muerto
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // dibuja la primera forma del enemigo y obténla de arriba a abajo
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // dibuja la segunda forma enemiga y obténla de arriba a abajo dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// si nuestra forma toca al enemigo (da forma a oyunbit)); //el juego ha terminado }
if (dusmaninYdekonumu> 42) {// si nuestra forma escapa de los enemigos
dusmanoldu = verdadero; // matar formas enemigas skor ++; // aumenta uno a uno la puntuación}
// skora gore hizi artiriyoruz // aumenta la velocidad según la puntuación
if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; retraso (5); }
}
Paso 4: CODIGO BITMAP
Además, debe incluir un gráfico de mapa de bits para las formas. Debe ser un archivo.c.
#include // incluir para la función progmem
const unsigned char arac PROGMEM = {// nuestro mapa de bits de forma
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// mapa de bits de la nave enemiga
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Paso 5: gracias por ver
Significado de algunas palabras:
Oyun => Juego
Arac => Forma
Dusman => Enemigo
kontrol => control
Konum, Yer => Ubicación
Oyun Bitti => Fin del juego
Skor => Puntuación
Hiz => Velocidad
Recomendado:
E-dohicky la versión electrónica del medidor de potencia láser de Russ Dohicky: 28 pasos (con imágenes)
E-dohicky es la versión electrónica del medidor de potencia láser de Russ Dohicky: herramienta de potencia láser e-dohicky es la versión electrónica del dohicky de Russ SADLER. Russ anima el muy buen canal de youtube SarbarMultimedia https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER presenta un accesorio fácil y económico
ThreadBoard (versión no impresa en 3D): Tablero de creación rápida de prototipos de textil electrónico: 4 pasos (con imágenes)
El ThreadBoard (versión no impresa en 3D): E-Textile Rapid Prototyping Board: El Instructable para la versión impresa en 3D del ThreadBoard V2 se puede encontrar aquí. La versión 1 del ThreadBoard se puede encontrar aquí. viajes, pandemias y otras barreras, es posible que no tenga acceso a una impresora 3D, pero quiere
Hacer un robot simple con cosas que puede encontrar en su casa (versión hotwheel): 5 pasos
Hacer un robot simple con cosas que puede encontrar en su casa (versión hotwheel): este Instructable le mostrará cómo hacer un hotwheel que funcione por sí mismo y que funcione con baterías doble A. Solo necesitará usar cosas que probablemente pueda encontrar en su casa. Tenga en cuenta que este robot probablemente no irá exactamente derecho, un
Versión del juego Arduino Space Race _1: 5 pasos
Arduino Space Race Game Version _1: Hola amigos. Hoy te voy a mostrar cómo puedes hacer un juego de carrera espacial con una pantalla LCD5110 y un joystick
Space Race: juego simple de Arduino Clicker para hacer con los niños: 7 pasos
Space Race: Simple juego de Arduino Clicker para hacer con los niños: ¡ ¡Estoy subiendo un video que muestra cómo funciona hoy! Divirtámonos con un instructivo de temática espacial que se puede hacer junto con los niños y luego ser disfrutado por ellos solos como un juguete. Puede usarlo como un medio para enseñarles historia sobre co