![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Juego LCD
Dependencies: mbed freetronicsLCDShield
Revision 0:1c73b0721b69, committed 2021-09-20
- Comitter:
- darley_gonzalez
- Date:
- Mon Sep 20 22:54:33 2021 +0000
- Commit message:
- Juego
Changed in this revision
diff -r 000000000000 -r 1c73b0721b69 freetronicsLCDShield.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/freetronicsLCDShield.lib Mon Sep 20 22:54:33 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/KKempeneers/code/freetronicsLCDShield/#fa933933ccd1
diff -r 000000000000 -r 1c73b0721b69 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Sep 20 22:54:33 2021 +0000 @@ -0,0 +1,246 @@ +#include "mbed.h" +#include "freetronicsLCDShield.h" +freetronicsLCDShield LCD(D0,D1,D2,D3,D4,D5,D6,A0); //Definir Pines + +const char CGRAM_DATA[32]= {0x00,0x0E,0x0A,0x0E,0x04,0x0E,0x04,0x08, //Caracter pierna izquierda de personaje + 0x00,0x0E,0x0A,0x0E,0x04,0x0E,0x04,0x02, //Caracter pierna derecha de personaje + 0x00,0x00,0x00,0x00,0x00,0x04,0x0E,0x1F, //Caracter o obstaculo #1 + 0x00,0x00,0x00,0x04,0x0A,0x15,0x0E,0x1F //Caracter o obstaculo #2 + }; + +InterruptIn int1(D8); //Boton salto +InterruptIn int2(D9); //Boton Reinicio +Timer t; //Duracion +Ticker hora; //Puntuacion +int n = 0; +int p,d,q=0,s=16,s1=11,h=0,z=0,w=0; //Variables a usar en el programa + +void ISR_pin6() //Funcion del boton +{ + if(s>=0 && s<=2) { + + LCD.setCursorPosition(0,0); + LCD.putc(0); //Saltos + LCD.setCursorPosition(1,0); + LCD.printf(" "); + + LCD.setCursorPosition(1,s); + LCD.putc(2); //Animacion del salto con bloque abajo + LCD.setCursorPosition(1,s+1); + LCD.printf(" "); + + wait(1); + LCD.setCursorPosition(1,0); + LCD.putc(0); //Animacion Cuando esta abajo + LCD.setCursorPosition(0,0); + LCD.printf(" "); + + wait(1); + LCD.cls(); + LCD.setCursorPosition(1,0); + LCD.putc(0); + h=1; + + } else if(s1>=-5 && s1<=-3) { + + LCD.setCursorPosition(0,0); + LCD.putc(0); + LCD.setCursorPosition(1,0); + LCD.printf(" "); + + LCD.setCursorPosition(1,s1+5); + LCD.putc(3); + LCD.setCursorPosition(1,s1+6); + LCD.printf(" "); + + wait(1); + + LCD.setCursorPosition(1,0); + LCD.putc(0); + LCD.setCursorPosition(0,0); + LCD.printf(" "); + wait(1); + LCD.cls(); + LCD.setCursorPosition(1,0); + LCD.putc(0); + h=1; + + } else { + + LCD.setCursorPosition(0,0); + LCD.putc(0); + LCD.setCursorPosition(1,0); + LCD.printf(" "); + wait(1); + LCD.setCursorPosition(1,0); + LCD.putc(0); + LCD.setCursorPosition(0,0); + LCD.printf(" "); + wait(1); + LCD.setCursorPosition(1,0); + LCD.putc(0); + + } +} +void crono() //Funcion marcador de puntuacion +{ + if(w==0) { + if(q == 1) { + LCD.setCursorPosition(0,11); + LCD.printf(" %d ",d); + d=d+1; + } + if( (z%2) == 0 ) { + z=1; + } else { + z=0; + } + } +} +void reset() //Despues del game over reinicia juego todo en 0 +{ + w=0; +} +int main() +{ + d=0; + int1.mode(PullUp); + int1.rise(&ISR_pin6); + int2.mode(PullUp); + int2.rise(&reset); + hora.attach(&crono,1); + LCD.writeCGRAM (0x00, &CGRAM_DATA[0], 8); + LCD.writeCGRAM (0x08, &CGRAM_DATA[8], 8); //llamado de mis animaciones + LCD.writeCGRAM (0x10, &CGRAM_DATA[16], 8); + LCD.writeCGRAM (0x18, &CGRAM_DATA[24], 8); + LCD.cls(); + LCD.setBackLight(false); + wait(2.0); + LCD.setBackLight((float) 0.7); + LCD.cls(); + LCD.setCursorPosition (0,2); + LCD.setCursor(false); + LCD.putc('U'); + wait(0.5); + LCD.putc('N'); + wait(0.5); + LCD.putc('I'); + wait(0.5); + LCD.putc('V'); + wait(0.5); + LCD.putc('E'); //Banner + wait(0.5); + LCD.putc('R'); + wait(0.5); + LCD.putc('S'); + wait(0.5); + LCD.putc('I'); + wait(0.5); + LCD.putc('D'); + wait(0.5); + LCD.putc('A'); + wait(0.5); + LCD.putc('D'); + wait(0.5); + LCD.setCursorPosition (1,4); + LCD.setCursor(false); + LCD.putc('D'); + wait(0.5); + LCD.putc('I'); + wait(0.5); + LCD.putc('S'); + wait(0.5); + LCD.putc('T'); + wait(0.5); + LCD.putc('R'); + wait(0.5); + LCD.putc('I'); + wait(0.5); + LCD.putc('T'); + wait(0.5); + LCD.putc('A'); + wait(0.5); + LCD.putc('L'); + wait(0.5); + LCD.cls(); + q=1; + LCD.setCursorPosition(1,0); + LCD.putc(0); + + while(true) { + if(w==0) { + if(h==0) { + LCD.setCursorPosition(1,0); + LCD.putc(z); + + LCD.setCursorPosition(0,4); + LCD.printf("level %d", (d/10)); + //Juego en movimiento con la animacion y obstaculos + LCD.setCursorPosition(1,s); + LCD.putc(2); + LCD.setCursorPosition(1,s+1); + LCD.printf(" "); + + LCD.setCursorPosition(1,s1+5); + LCD.putc(3); + LCD.setCursorPosition(1,s1+6); + LCD.printf(" "); + if(s1==-5 || s==0) { + LCD.cls(); + w=1; + } + + } else { //Si toca el bloque el personaje + + h=0; + LCD.setCursorPosition(1,0); + LCD.putc(z); + } + + LCD.setCursorPosition(1,0); + LCD.putc(z); + + + if(s1<-5) { + s1=16; + } + if(s<0) { + s=16; + } + s--; + s1--; + wait(0.7); + + } else { //Visualiza el GAME OVER + LCD.cls(); + LCD.setCursorPosition (0,4); + LCD.setCursor(false); + LCD.putc('G'); + wait(0.5); + LCD.putc('A'); + wait(0.5); + LCD.putc('M'); + wait(0.5); + LCD.putc('E'); + wait(0.5); + LCD.putc(' '); + wait(0.5); + LCD.putc('O'); + wait(0.5); + LCD.putc('V'); + wait(0.5); + LCD.putc('E'); + wait(0.5); + LCD.putc('R'); + wait(0.5); + LCD.cls(); + s=16; + s1=11; + d=0; + } + } + +} + + +
diff -r 000000000000 -r 1c73b0721b69 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Sep 20 22:54:33 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file