emanuele
gioco arduino stile game boy
Tutorials -
Mercoledì 11 Gennaio 2012 19:45
Scritto da emanuele

salve questo è il codice di un piccolo gioco stile gameboy antico si tratta di prendere le O con una D che fa da secchio per farlo serve:
arduino (io uso il 2009)
display 16x4 oppure 16x2 (per il 16x2 dovete modificare la riga dove dice lcd.begin(16, 4) con lcd.begin(16, 2) )
2 pulsanti temporanei
2 resistenze da 10k omh
fili ovviamente
ecco un video
// mceTempObject

ed ecco il codice

#include 

int n = 0;            //altezza palla
int m = 2;           //posizione orizzontale palla
int p = 1;          //posizione orizzontale secchio

boolean game = true;  //introduce una variabile booleana (vero/falso)
                      //true= gioco attivo, false= gioco disattivo
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  //setta i pin del display                                                                          
void setup() {pinMode(8, INPUT);
             pinMode(9, INPUT); 
             lcd.begin(16, 4);}        
//lcd.begin(16, 4) dichiara che il display è 16(colonne) per 4(righe)

void loop() {
  digitalWrite(13, HIGH);      // anodo retro illuminazione display
if (game == true)             //gioco in stato ON
{lcd.setCursor(n, m);       
lcd.print("O");                  
lcd.setCursor(15, p);          
lcd.print("D");                      
delay(120);           
lcd.clear();      //effettua il refresh dello schermo
n++;              //incremento n. Per far scendere la palla

if(n==16) {if(m != p) {game= false;}  //CONDIZIONE DI GAME OVER
           n=0; m= random(4);}

if(digitalRead(9) == HIGH) {p++;}   //sposta il secchio a sx 
if(digitalRead(8) == HIGH) {p--;}   //sposta il secchio a dx

if(p==-1) {p=0;}         //limiti dello schermo                       
if(p==4) {p=3;}                       
}

if (game == false)          //stato di gameover... 
{lcd.setCursor( 3, 0);                           
lcd.print("HAI PERSO!");
lcd.setCursor(0, 2);
lcd.print("premi un tasto...");
if((digitalRead(8)==HIGH)||(digitalRead(9)==HIGH)) {game=true;}
}

}
 

Gioblu Robotics © 2010 - 2012 · Sitemap · privacy

gioscarab@gmail.com

Gioblu BOTServer è online dal 10 Aprile 2010 - 319.232 Visite - 1.027.175 Pagine visualizzate - 182.309 Visitatori unici - 536 utenti attivi