Pages: [1] 2 3   Go Down
Author Topic: Game spaceship  (Read 1740 times)
0 Members and 1 Guest are viewing this topic.
Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-confuse 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 smiley-wink ) 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  smiley-confuse )
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....  smiley-sweat

Cela intéresserait-il quelqu'un de participer au développement d'un jeu HYPER-HI-TECH sur lcd 4x20 4bits !! ....  smiley-wink smiley-lol smiley-lol ?
Merci d'avance  smiley

Code ci-dessous :

Code:
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);
  //...
}


Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re-bonsoir  smiley

Voilà je me suis amusé à faire se balader mon vaisseau dans un labyrinthe (vraiment basique), mais j'y suis arrivé tout seul  smiley-razz
 smiley-lol smiley-lol

voilà le code :
Code:
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
};
byte mur[8] = {
   B01110,
   B01110,
   B01110,
   B01110,
   B01110,
   B01110,
   B01110,
   B01110
};

#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);
  pinMode(8,INPUT);
  pinMode(10,INPUT);
  lcd.begin(20, 4);
  lcd.setCursor(2, 1);
  lcd.print("JARVIS Pret");
  delay(1000);
  lcd.clear();
  x=0;
  y=0;
}

void loop()
{
 
  lcd.createChar(0,Space_ship);
  lcd.setCursor(x,y);
  lcd.write(0);
  labyrinth();
  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);
  if((x==1&&y==0)||(x==1&&y==1)||(x==1&&y==3)||(x==2&&y==1)||(x==2&&y==3)||(x==3&&y==3)||(x==4&&y==1)||(x==4&&y==2)||(x==4&&y==3)||(x==5&&y==2)||(x==6&&y==0)||(x==6&&y==3)||(x==7&&y==0)||(x==7&&y==1)||(x==7&&y==3)||(x==8&&y==1)||(x==9&&y==0)||(x==9&&y==2)||(x==10&&y==0)||(x==11&&y==0)||(x==11&&y==1)||(x==11&&y==2)||(x==12&&y==0)||(x==12&&y==1)||(x==13&&y==3)||(x==14&&y==1)||(x==14&&y==2)||(x==14&&y==3)||(x==15&&y==2)||(x==16&&y==0)||(x==16&&y==2)||(x==17&&y==0)||(x==17&&y==2)||(x==17&&y==3)||(x==18&&y==0)||(x==19&&y==0)||(x==19&&y==1)||(x==19&&y==2))
  {
    lcd.clear();
    lcd.setCursor(6,1);
    lcd.print("GAME OVER");
    x=0;y=0;
    delay(5000);
    lcd.clear();
  }
  if((x==19&&y==3)){lcd.clear();lcd.setCursor(6,1);lcd.print("WINNER");x=0;y=0;delay(5000);lcd.clear();}
}

void labyrinth()
{
  lcd.createChar(3,mur);
  lcd.setCursor(1,0);lcd.write(3);
  lcd.setCursor(1,1);lcd.write(3);
  lcd.setCursor(1,3);lcd.write(3);
  lcd.setCursor(2,1);lcd.write(3);
  lcd.setCursor(2,3);lcd.write(3);
  lcd.setCursor(3,3);lcd.write(3);
  lcd.setCursor(4,1);lcd.write(3);
  lcd.setCursor(4,2);lcd.write(3);
  lcd.setCursor(4,3);lcd.write(3);
  lcd.setCursor(5,2);lcd.write(3);
  lcd.setCursor(6,0);lcd.write(3);
  lcd.setCursor(6,3);lcd.write(3);
  lcd.setCursor(7,0);lcd.write(3);
  lcd.setCursor(7,1);lcd.write(3);
  lcd.setCursor(7,3);lcd.write(3);
  lcd.setCursor(8,1);lcd.write(3);
  lcd.setCursor(9,0);lcd.write(3);
  lcd.setCursor(9,2);lcd.write(3);
  lcd.setCursor(10,0);lcd.write(3);
  lcd.setCursor(11,0);lcd.write(3);
  lcd.setCursor(11,1);lcd.write(3);
  lcd.setCursor(11,2);lcd.write(3);
  lcd.setCursor(12,0);lcd.write(3);
  lcd.setCursor(12,1);lcd.write(3);
  lcd.setCursor(13,3);lcd.write(3);
  lcd.setCursor(14,1);lcd.write(3);
  lcd.setCursor(14,2);lcd.write(3);
  lcd.setCursor(14,3);lcd.write(3);
  lcd.setCursor(15,2);lcd.write(3);
  lcd.setCursor(16,0);lcd.write(3);
  lcd.setCursor(16,2);lcd.write(3);
  lcd.setCursor(17,0);lcd.write(3);
  lcd.setCursor(17,2);lcd.write(3);
  lcd.setCursor(17,3);lcd.write(3);
  lcd.setCursor(18,0);lcd.write(3);
  lcd.setCursor(19,0);lcd.write(3);
  lcd.setCursor(19,1);lcd.write(3);
  lcd.setCursor(19,2);lcd.write(3);
}

pour ceux qui sont intéressé...  smiley-wink

@plus
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Offline Offline
God Member
*****
Karma: 12
Posts: 912
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Moi aussi j'ai un 4x20, mais celui-ci:
http://www.selectronic.fr/afficheur-retroeclaire-4x20-caracteres-blanc-bleu.html

Pour l'instant je m'en sert pour afficher mes températures, mais si ton code évolue et se termine, pourquoi ne pas y greffer un jeu avec des boutons!
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 912
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Re-bonsoir  smiley
Voilà je me suis amusé à faire se balader mon vaisseau dans un labyrinthe (vraiment basique), mais j'y suis arrivé tout seul  smiley-razz
 smiley-lol smiley-lol
voilà le code :
Code:
  pinMode(9,INPUT);
  pinMode(8,INPUT);
  pinMode(10,INPUT);
 
pour ceux qui sont intéressé...  smiley-wink
@plus

Peux-tu expliquer les branchements?

LEs pins 8, 9 et 10 sont en input donc je pense qu'il y a 3 boutons: un gauche, un droite mais à quoi sert le 3e?
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

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  smiley-confuse explications par MP pour ceux qui veulent)
T'as eu une réponse de la pars de lextronic ? Nan parce que le module série de cet écran ... j'ai pas de mot pour le décrire ...

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 smiley-wink ) 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....
3 boutons se serait pas plus intéréssant ?
Haut/Bas/Tire

mais (hé oui y a un MAIS  smiley-confuse )
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) ...
Commence par faire la partie gestion des déplacements, puis les tires, puis les astéroides et c'est que à la fin que tu regardera pour l'aléatoire (si tu fait un truc propre tu devra juste modifier une variable contenant le temps avant la prochain apparition).
Pour les '-' je verrai bien une variable contenant la position du derniers tire et une autre contenant le nombre de '-', le tout x4 pour géré indépendamment chaque ligne.

Cela intéresserait-il quelqu'un de participer au développement d'un jeu HYPER-HI-TECH sur lcd 4x20 4bits !! ....  smiley-wink smiley-lol smiley-lol ?
C'est tentant, mais si je me lance se serait avec un lcd série (de sparkfun pas de lextronic) parce que des lcd 4x20 j'en est pas d'autre.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re-bonsoir  smiley
Voilà je me suis amusé à faire se balader mon vaisseau dans un labyrinthe (vraiment basique), mais j'y suis arrivé tout seul  smiley-razz
 smiley-lol smiley-lol
voilà le code :
Code:
  pinMode(9,INPUT);
  pinMode(8,INPUT);
  pinMode(10,INPUT);
 
pour ceux qui sont intéressé...  smiley-wink
@plus

Peux-tu expliquer les branchements?

LEs pins 8, 9 et 10 sont en input donc je pense qu'il y a 3 boutons: un gauche, un droite mais à quoi sert le 3e?

alors pin 8 -> pushbutton pour le haut
pin 9 -> pushbutton pour le bas
pin 10 -> pushbutton pour avancer (pour l'instant)
 smiley-lol
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: skywodd
T'as eu une réponse de la pars de lextronic ? Nan parce que le module série de cet écran ... j'ai pas de mot pour le décrire ...
non toujours pas  smiley-confuse mais c'est pas la 1ere fois  smiley-twist smiley-twist

Quote from: skywodd
3 boutons se serait pas plus intéréssant ?
Haut/Bas/Tire
t'as pas bien lu (ou j'ai mal expliquer  smiley-wink )
un bouton pour le haut, un pour la bas et un qui tire ==> donc 3 boutons
mais pour le labyrinthe le 3ème sert à avancer.

Quote from: skywodd
Commence par faire la partie gestion des déplacements, puis les tires, puis les astéroides et c'est que à la fin que tu regardera pour l'aléatoire (si tu fait un truc propre tu devra juste modifier une variable contenant le temps avant la prochain apparition).
Pour les '-' je verrai bien une variable contenant la position du derniers tire et une autre contenant le nombre de '-', le tout x4 pour géré indépendamment chaque ligne.
pas mal  smiley-wink smiley j'avais pensé à séparer les lignes mais je me demander si c'était bon...
j'vais essayer  smiley-lol smiley-lol

Quote from: skywodd
C'est tentant, mais si je me lance se serait avec un lcd série (de sparkfun pas de lextronic) parce que des lcd 4x20 j'en est pas d'autre.
ce sera tout simple pour toi (t'es un dieu en prog  smiley-wink )et puis je te dirais où changer les "ordres" pour passer en "série"  smiley-wink  smiley-lol
et puis j'suis là sur une version du mineur (non pas le démineur) : le petit personnage qui creuser les murs pour prendre des diamants jusqu'à l'autre bout de l'écran où y-a une sortie.... en évitant de libérer des monstre qui pouvaient le suivre....
ça vous dis quelque chose ?? je l'appel le mineur car je sais plus son nom (diamond, je crois ....  smiley-roll)

Enfin bref j'ai encore tous pleins d'idées de jeux  smiley-lol smiley-lol smiley-lol smiley-lol

Si vous voulez, vous pouvez venir jouer avec moi  smiley-lol smiley-lol
@plus
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

t'as pas bien lu (ou j'ai mal expliquer  smiley-wink )
un bouton pour le haut, un pour la bas et un qui tire ==> donc 3 boutons
mais pour le labyrinthe le 3ème sert à avancer.
Ha ok, j'avais mal lu alors smiley-kitty

ce sera tout simple pour toi (t'es un dieu en prog  smiley-wink )et puis je te dirais où changer les "ordres" pour passer en "série"  smiley-wink  XD7
Nan mais stop je suis pas un dieu smiley-razz
Comme je peut pas continuer mon projet de ligth painting pour le moment (il neige ...) je vais regarder un peu comment faire ton mini jeu le plus simplement possible smiley-kitty

et puis j'suis là sur une version du mineur (non pas le démineur) : le petit personnage qui creuser les murs pour prendre des diamants jusqu'à l'autre bout de l'écran où y-a une sortie.... en évitant de libérer des monstre qui pouvaient le suivre....
ça vous dis quelque chose ?? je l'appel le mineur car je sais plus son nom (diamond, je crois ....  smiley-roll)
ça me dis quelque chose mais j'ai plus le nom en tête ...
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: skywodd
Ha ok, j'avais mal lu alors smiley-kitty
smiley-razz
Quote from: skywodd
Nan mais stop je suis pas un dieu smiley-razz
Bien M'sieur  smiley-lol smiley-lol smiley-lol
Quote from: skywodd
Comme je peut pas continuer mon projet de ligth painting pour le moment (il neige ...) je vais regarder un peu comment faire ton mini jeu le plus simplement possible smiley-kitty
Désolé pour toi  smiley-confuse, mais MERCI de venir jouer  smiley-lol smiley-lol
Quote from: skywodd
ça me dis quelque chose mais j'ai plus le nom en tête ...
Ouf  smiley-kiss j'suis pas le seul alors ...  smiley-lol smiley-lol

Voilà la première version du jeu DIAMOND : (alors le bonhomme ne fait que se déplacer en traçant son chemin, d'acc ? il n'y a pas encore de comptage des scores ni de poursuites par les monstres.... smiley-wink )
Code:
byte diamantB[8] = {
   B00000,
   B00000,
   B01110,
   B10001,
   B01010,
   B00100,
   B00000,
   B00000,
};
byte diamantN[8] = {
   B00000,
   B00000,
   B01110,
   B11111,
   B01110,
   B00100,
   B00000,
   B00000,
};
byte monstre[8] = {
   B00000,
   B01110,
   B10101,
   B11111,
   B01010,
   B10101,
   B00000,
   B00000
};
byte etoile[8] = {
   B00000,
   B00000,
   B10101,
   B01110,
   B10101,
   B01110,
   B10101,
   B00000
};
byte sorti[8] = {
   B11111,
   B11111,
   B11111,
   B00111,
   B00111,
   B11111,
   B11111,
   B11111
};

byte pers[8] = {
   B01100,
   B01100,
   B01001,
   B01010,
   B01110,
   B01000,
   B10100,
   B10010
};
byte solG[8] = {
   B01010,
   B10101,
   B01010,
   B10101,
   B01010,
   B10101,
   B01010,
   B10101
};
byte solD[8] = {
   B10101,
   B01010,
   B10101,
   B01010,
   B10101,
   B01010,
   B10101,
   B01010
};

#include <LiquidCrystal.h>
int perso_x;
int perso_y;
int old_x;
int old_y;
int lastbuttonstate1=0;
int lastbuttonstate2=0;
int lastbuttonstate3=0;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
int niv1;


void setup()
{
  pinMode(9,INPUT);
  pinMode(8,INPUT);
  pinMode(10,INPUT);
  lcd.begin(20, 4);
  lcd.setCursor(2, 1);
  lcd.print("JARVIS Pret");
  delay(1000);
  lcd.clear();
  niv1=0;
}

void loop()
{
  if(niv1==0){niveau1();}
  if(niv1==1)
  {
    lcd.setCursor(perso_x,perso_y);
    person(perso_x,perso_y);
    if(digitalRead(9)!= lastbuttonstate1){if(digitalRead(9)==HIGH)
    {
      lcd.setCursor(old_x,old_y);
      lcd.print(" ");
      if((perso_y<3)){perso_y+=1;}
      }}
     
    if(digitalRead(8)!= lastbuttonstate2){if(digitalRead(8)==HIGH)
    {
      lcd.setCursor(old_x,old_y);
      lcd.print(" ");
      if((perso_y>0)){perso_y-=1;}
      }}
   
    if(digitalRead(10)!= lastbuttonstate3){if(digitalRead(10)==HIGH)
    {
       lcd.setCursor(old_x,old_y);
       lcd.print(" ");
       if((perso_x<19)){perso_x+=1;}
       }}
       
    lastbuttonstate1=digitalRead(9);
    lastbuttonstate2=digitalRead(8);
    lastbuttonstate3=digitalRead(10);
    old_x=perso_x;
    old_y=perso_y;
  }
//  if((x==1&&y==0)||(x==1&&y==1)||(x==1&&y==3)||(x==2&&y==1)||(x==2&&y==3)||(x==3&&y==3)||(x==4&&y==1)||(x==4&&y==2)||(x==4&&y==3)||(x==5&&y==2)||(x==6&&y==0)||(x==6&&y==3)||(x==7&&y==0)||(x==7&&y==1)||(x==7&&y==3)||(x==8&&y==1)||(x==9&&y==0)||(x==9&&y==2)||(x==10&&y==0)||(x==11&&y==0)||(x==11&&y==1)||(x==11&&y==2)||(x==12&&y==0)||(x==12&&y==1)||(x==13&&y==3)||(x==14&&y==1)||(x==14&&y==2)||(x==14&&y==3)||(x==15&&y==2)||(x==16&&y==0)||(x==16&&y==2)||(x==17&&y==0)||(x==17&&y==2)||(x==17&&y==3)||(x==18&&y==0)||(x==19&&y==0)||(x==19&&y==1)||(x==19&&y==2))
//  {
//    lcd.clear();
//    lcd.setCursor(6,1);
//    lcd.print("GAME OVER");
//    x=0;y=0;
//    delay(5000);
//    lcd.clear();
//  }
//  if((x==19&&y==3)){lcd.clear();lcd.setCursor(6,1);lcd.print("WINNER");x=0;y=0;delay(5000);lcd.clear();}


}

void niveau1()
{
  lcd.clear();
  sol();
  delay(100);
  diamant(3,1,2);
  delay(100);
  diamant(15,3,2);
  delay(100);
  diamant(18,0,2);
  delay(100);
  sortie(19,3);
  delay(100);
  person(0,1);
  delay(100);
  monstres(10,2);
  delay(100);
  niv1=1;
}
 
 void sol()
{
  lcd.createChar(0,solG);
  lcd.createChar(1,solD);
  for(int sol_x=0; sol_x<20; sol_x++)
  {
    for(int sol_y=0; sol_y<4; sol_y++)
    {
      lcd.setCursor(sol_x,sol_y);
      if(sol_x==0||sol_x==2||sol_x==4||sol_x==6||sol_x==8||sol_x==10||sol_x==12||sol_x==14||sol_x==16||sol_x==18){lcd.write(0);}
      else if(sol_x==1||sol_x==3||sol_x==5||sol_x==7||sol_x==9||sol_x==11||sol_x==13||sol_x==15||sol_x==17||sol_x==19){lcd.write(1);}
      delay(50);
    }
  }
}

void diamant(int dia_x,int dia_y,int chx_dia)//2=blanc,3=noir
{
  lcd.createChar(2,diamantB);
  lcd.createChar(3,diamantN);
  lcd.setCursor(dia_x,dia_y);
  lcd.print(" ");
  lcd.setCursor(dia_x,dia_y);
  lcd.write(chx_dia); 
}

void sortie(int sor_x,int sor_y)
{
  lcd.createChar(4,sorti);
  lcd.setCursor(sor_x,sor_y);
  lcd.print(" ");
  lcd.setCursor(sor_x,sor_y);
  lcd.write(4);
}

void person(int a,int b)
{
  lcd.createChar(5,pers);
//  lcd.setCursor(perso_x,perso_y);
//  lcd.print(" ");
  lcd.setCursor(a,b);
  lcd.write(5);
  perso_x=a;
  perso_y=b;
}

void monstres(int monst_x,int monst_y)
{
  lcd.createChar(6,monstre);
  lcd.setCursor(monst_x,monst_y);
  lcd.print(" ");
  lcd.setCursor(monst_x,monst_y);
  lcd.write(6);
}

@plus  smiley-lol
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut  smiley

alors voici la 1ère version de mon "space invaders"
(bon d'accord, il n'y a que la gestion des tirs...)  smiley-wink

CODE TROP GROS... donc en pièce jointe  smiley-wink

@plus  smiley-lol

edit : heu, j'ai mis le bon prog... cette fois-ci  smiley-lol smiley-lol

* space_ship_lcd.pde (12.35 KB - downloaded 3 times.)
« Last Edit: January 31, 2012, 11:20:50 am by piflechien54 » Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

SALUT @toutes et @tous  smiley-lol

j'ai réussi !!!! \^^/

voici le programme de base de type "space Invader " qui fonctionne  smiley-lol smiley-lol

pour les critiques : oui je sais :  smiley-wink
"il boucle sur le même niveau" -> c'est normal j'ai pas programmé plusieurs niveaux de difficultés (mais cela va venir smiley-wink )
"le vaisseau ne fait que monter et descendre" -> c'est le but mais un autre programme est prévu avec du deplacement.... smiley-wink
"ton prog il est lourd" -> ben ouais, j'suis pas super-expérimenté en programmation

je vous met mon prog en pièce jointe  smiley
Faites moi toutes vos critiques (constructives smiley-wink ) sur mon prog (si vous avez des idées d'amélioration, n'hésitez pas  smiley-lol )

@Skywodd : si ça te dis de le regarder et de l'améliorer, je t'en serais reconnaissant smiley-wink

Aller ! assez bla-blatter, place au fun  smiley-wink smiley-lol smiley-lol
@plus


* space_shipv2_lcd.pde (27.13 KB - downloaded 8 times.)
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Skywodd : si ça te dis de le regarder et de l'améliorer, je t'en serais reconnaissant smiley-wink
Ouai je regarderai smiley-wink
(J'avais commencer mon propre prog mais je me retrouve à devoirs corriger des prog de mec de ma classe et leur ré-expliquer le cours de prog >< vu le niveau j'en ai pour un moment ><)
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Un jour dieu inventa les boucles, l'indentation, les tableaux, ...

C'est pas pour être méchant mais c'est vraiment pas jolie smiley-wink

Pour te donner une idée, ton code fait 27Ko (c'est absolument E N O R M E), avec des boucles toutes bête : 5Ko ...
(Je suis pas sure d'avoir pu transcrire parfaitement ton code, donc code à prendre avec des pincettes smiley-wink)

* space_shipv2_lcd.pde (4.85 KB - downloaded 5 times.)
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: skywodd
Un jour dieu inventa les boucles, l'indentation, les tableaux, ...
C'est pas pour être méchant mais c'est vraiment pas jolie smiley-wink

MAAAAAIIIIIISSSS !!!! je sais bien  smiley-confuse smiley-confuse
mais quand je me suis servi des boucles, ça me paralysait les mouvements du vaisseau le temps que le tir se finisse.... smiley-cry smiley-cry
alors c'est pour cela que je suis parti sur du "très" basique, en attendant tes conseils  smiley-wink

Quote from: skywodd
(c'est absolument E N O R M E)
heu... oui je sais  smiley-red smiley-wink smiley-lol smiley-lol smiley-lol smiley-lol mdr.... heu mais comment tu sais ????  smiley-wink smiley-lol smiley-lol
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Dans l'Espace
Offline Offline
Sr. Member
****
Karma: 1
Posts: 294
ArduinoBot builder \^^/
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: skywodd
(J'avais commencer mon propre prog mais je me retrouve à devoirs corriger des prog de mec de ma classe et leur ré-expliquer le cours de prog >< vu le niveau j'en ai pour un moment ><)
Bon courage  smiley-grin j'ai connu cela smiley-sweat ... même à la fac  smiley-sweat.... alors Bon courage !!  smiley-wink smiley-lol
Logged

Proverbe Tibétain : Un mensonge est un saut du haut du toit

Pages: [1] 2 3   Go Up
Jump to: