Bonjour @toutes et @tous
Voilà grâce à l'aide de Skywodd et d'AlienArea51, j'ai pu enfin faire fonctionner mon lcd
ici : http://www.lextronic.fr/P764-afficheur-4-x-20-caracteres-retro-eclaire-vert.html
(que je ne vous conseil pas :~ explications par MP pour ceux qui veulent)
Et donc je me suis mis en tête de me faire un petit jeu de combat spatial,
du style petit vaisseau qui se déplacent en haut et en bas sur une colonne (4 positions pour moi ) via 2 boutons pushbutton
et qui tire de rafale de "-" avec un autre bouton pushbutton sur des astéroides et ou des fantomes.
je n'ai pas encore décider si il y aurait un score ou non....
Donc j'en viens à mon post : j'ai le code pour le vaisseau et ses déplacements
mais (hé oui y a un MAIS :~ )
je n'arrive pas à coder le tire "-" (qui se déplacent vers la droite)
ni la générations aléatoires d’astéroïdes (ou de fantômes) qui se déplacent vers la gauche (vers mon vaisseau) ...
je pense qu'il faut générer un tableau qui regroupe tous les positions de tous les "caractères" qui sont sur le lcd
et à chaque cycles les rafraichir en faisant un lcd.clear();
mais c'est là que je bloque....
Cela intéresserait-il quelqu'un de participer au développement d'un jeu HYPER-HI-TECH sur lcd 4x20 4bits !! .... XD XD ?
Merci d'avance
Code ci-dessous :
byte pacman_O[8] = {
B00000,
B00000,
B01110,
B11011,
B11100,
B01110,
B00000,
B00000
};
byte pacman_F[8] = {
B00000,
B00000,
B01110,
B11011,
B11111,
B01110,
B00000,
B00000
};
byte fantome[8] = {
B00000,
B00000,
B01110,
B10101,
B11111,
B11111,
B10101,
B00000
};
byte snootlab_left[8] = {
B00010,
B10110,
B11111,
B11111,
B10001,
B10101,
B10001,
B01110
};
byte snootlab_right[8] = {
B00100,
B01101,
B11111,
B11111,
B10001,
B10101,
B10001,
B01110
};
byte Space_ship[8] = {
B00000,
B01100,
B11000,
B11110,
B11110,
B11000,
B01100,
B00000
};
#include <LiquidCrystal.h>
int x;
int y;
int lastbuttonstate1=0;
int lastbuttonstate2=0;
int lastbuttonstate3=0;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup()
{
pinMode(9,INPUT); // bouton de déplacement
pinMode(8,INPUT); // bouton de déplacement
pinMode(10,INPUT); //bouton de tire
lcd.begin(20, 4);
lcd.setCursor(2, 1);
lcd.print("JARVIS Pret");
delay(1000);
lcd.clear();
x=0;
y=2;
}
void loop()
{
lcd.createChar(0,Space_ship);
lcd.setCursor(x,y);
lcd.write(0);
if(digitalRead(9)!= lastbuttonstate1){if(digitalRead(9)==HIGH){lcd.clear();y+=1;}}
if(digitalRead(8)!= lastbuttonstate2){if(digitalRead(8)==HIGH){lcd.clear();y-=1;}}
if(digitalRead(10)!= lastbuttonstate3){if(digitalRead(10)==HIGH){lcd.clear();x+=1;}}
lastbuttonstate1=digitalRead(9);
lastbuttonstate2=digitalRead(8);
lastbuttonstate3=digitalRead(10);
//...
}