[FR] Questions multiples

Understanding the language, error messages, etc.

[FR] Questions multiples

Postby LuDoPhotography » Sat Jan 03, 2015 11:20 pm

Salut a tous !

comme le sujet s'intitule voici les question que je me posse :

1- Comment je peut faire pour que par exemple un ennemis touche mon tir et il s'efface ? ce qui entraine ma question 2
2- Si un ennemis est touhcé par le joueur comment afficher un score ?
3- Est-ce qu'il y a une methode pour auto généré des ennemis a plusieur endrois ?
LuDoPhotography
 
Posts: 51
Joined: Tue Nov 11, 2014 8:33 am

Re: [FR] Questions multiples

Postby clement » Tue Jan 06, 2015 7:41 pm

yop,

1 et 2 - il te faut une variable qui va déterminer si ton ennemi est en vie ou pas et une pour ton score
exemple :

Code: Select all
//quleque part dans la declaration de l'ennemie
bool isAlive = true;
int score = 0;
//dans la methode de mise a jour de l'ennemie
if(gb.collideBitmapBitmap(x1, y1, ennemi, x2, y2, missille))
{
isAlive = false;
//pour la question 2
score = score + 1;
}

//puis avant de dessiner ton ennemi :
if(isAlive)
{
dessine l'ennemie
}


pour le point 3
regarde du coté de random().

elle genere un nombre aleatoire qui peux servir dans les position x et y de ton ennemie
clement
 
Posts: 161
Joined: Sat Oct 25, 2014 8:06 am

Re: [FR] Questions multiples

Postby LuDoPhotography » Tue Jan 06, 2015 10:33 pm

Okey merci des conseille je viendrai au nouvelle dès que j'aurai du temps libre ;)
LuDoPhotography
 
Posts: 51
Joined: Tue Nov 11, 2014 8:33 am

Re: [FR] Questions multiples

Postby LuDoPhotography » Sat Jan 10, 2015 11:09 pm

Voilà mon code :
j'ai un message d'erreur j'ai pas compris enfaite ou je devait tout placer

Code: Select all
#include <SPI.h>
#include <Gamebuino.h>
Gamebuino gb;

//----------------------------------AVION-----------------------

//declaration d'une image
static unsigned char PROGMEM vaisseau[] =
{
  8, 5,
  B00011000,
  B00011000,
  B01111110,
  B00011000,
  B00111100,
};


//------------------------------------Missile-----------------------

//declaration d'une image
static unsigned char PROGMEM missile[] =
{
  8, 5,
  B00011000,
  B00011000,
  B00011000,
  B00000000,
  B00000000,
};

//--------------------------------------LOGO------------------------
static byte PROGMEM logo[] =
{
  64,36, //width and height
  B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
  B00001110, B00000000, B00000011, B00000000, B00000000, B00000000, B00000000, B00000000,
  B00011011, B01100000, B00011011, B00000000, B00000000, B00000000, B00000000, B00000000,
  B00011011, B01100000, B00011011, B00000000, B00000000, B00000000, B00000000, B00000000,
  B00011000, B01100000, B00000011, B00000000, B00000000, B00000000, B00000000, B00000000,
  B00001100, B11110111, B11011011, B01100111, B00111110, B00000000, B00000000, B00000000,
  B00001110, B01100111, B11011011, B11001101, B10111110, B00000000, B00000000, B00000000,

  B00000110, B01100110, B11011011, B10001101, B10110110, B00000000, B00000000, B00001100,
  B00000011, B01100110, B00011011, B10001111, B10110000, B00000000, B00000000, B00001000,
  B00011011, B01100110, B00011011, B10001100, B00110000, B00000000, B00000000, B00010000,
  B00011011, B01100110, B00011011, B11001101, B10110000, B00000000, B00000000, B01110000,
  B00001110, B00110110, B00011011, B01100111, B00110000, B00000000, B00000000, B01100000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00111000, B11000000,
  B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B11111111, B10000000,
  B00000000, B00000000, B00000000, B00000000, B00000110, B00111111, B11111111, B00000000,

  B00000000, B00000000, B00000000, B00000000, B00000011, B11111111, B11111110, B00000000,
  B00111110, B00000000, B00000000, B00000000, B00000011, B11111111, B11111100, B00000000,
  B00111111, B00000000, B11000000, B00000000, B00000001, B11111111, B11100000, B00000000,
  B00110011, B00000000, B11000000, B00000000, B00000001, B11111111, B10000000, B00000000,
  B00110011, B00000000, B11000000, B00000000, B00000001, B10000111, B00000000, B00000000,
  B00110011, B00000000, B00000000, B00000000, B00000011, B00000111, B00000000, B00000000,
  B00111111, B01100110, B11011011, B10011110, B00000010, B00001110, B00000000, B00000000,
  B00111111, B01100110, B11011111, B10111111, B00000000, B00011100, B00000000, B00000000,

  B00110011, B01100110, B11011111, B10110011, B00000000, B01110000, B00000000, B00000000,
  B00110011, B01100110, B11011001, B10110011, B00000001, B11100000, B00000000, B00000000,
  B00110011, B01100110, B11011001, B10110011, B00000111, B10000000, B00000000, B00000000,
  B00110011, B01100110, B11011001, B10110011, B00000111, B00000000, B00000000, B00000000,
  B00110011, B01100110, B11011001, B10110011, B00000100, B00000000, B00000000, B00000000,
  B00111111, B01111110, B11011001, B10111111, B00000000, B00000000, B00000000, B00000000,
  B00111110, B01111110, B11011001, B10011110, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01100000, B00001100, B00001111, B10000000,

  B00000000, B00000000, B00000000, B00000000, B01111110, B11001100, B11111100, B11111000,
  B00000000, B00000000, B00000000, B00000000, B01101111, B10001100, B11111100, B11101100,
  B00000000, B00000000, B00000000, B00000000, B01111011, B00001111, B11111111, B10111000,
  B00000000, B00000000, B00000000, B00000000, B00000011, B00000000, B00000000, B00000000,
};

//-----------------------------------AVION----ENEMIS----------------

//declaration d'une image
const  unsigned char PROGMEM aze[] =
{
  8, 5,
  B00111100,
  B00011000,
  B01111110,
  B00011000,
  B00011000,
};

//-----------------------------------AVION----ENEMIS----------------
if(isAlive)
{
//declaration d'une image
const  unsigned char PROGMEM plane[] =
{
  8, 5,
  B00111100,
  B00011000,
  B01111110,
  B00011000,
  B00011000,
};
}
//declaration d'une image
const  unsigned char PROGMEM plane[] =
{
  8, 5,
  B00111100,
  B00011000,
  B01111110,
  B00011000,
  B00011000,
};
bool isAlive = true;
int score = 0;

//-----------------------------------AVION----ENEMIS----------------

//declaration d'une image
const  unsigned char PROGMEM aa[] =
{
  8, 5,
  B00111100,
  B00011000,
  B01111110,
  B00011000,
  B00011000,
};

//--------------------------------------------------

//declaration d'une image
const  unsigned char PROGMEM bb[] =
{
  8, 5,
  B00111100,
  B00011000,
  B01111110,
  B00011000,
  B00011000,
};


//--------------------POSITION-----------------------------------------------

//position en X et en Y du vaisseau
int vaisseau_x , vaisseau_y;

int missile_x, missile_y;

int plane_x, plane_y;

int aze_x, aze_y;

int aa_x, aa_y;

int bb_x, bb_y;

void setup()
{
  //Initailise la librairie gamebuino
  gb.begin();
  //affiche l'ecran de titre
  drawTitleScreen();
  gb.popup(F("A:shoot"),100);
}

void loop(){
  if(gb.update()){
    if(gb.buttons.pressed(BTN_C))
    {
      //permet un retour a l'ecran de titre
      drawTitleScreen();
    }
    //mets a jour le vaisseau
    updateVaisseau();
    //mise a jour du missile
    updateMissile();
    //le reste des appel
    skyNet();
    //dessine le vaisseau a ça nouvelle position
    drawVaisseau();
    //dessine le missile
    drawMissile();
    //dessine l'enemi
    drawplane();
    if(gb.collideBitmapBitmap(x1, y1, ennemi, x2, y2, missille))
{
isAlive = false;
   //dessine l' enemib
   drawaze();
   
  //dessine l'enemi
  drawaa();
    //dessine l'enemi
  drawbb();

  }
}

void initGame()
{
  //initialise la position de départ du vaisseau et du missile
  vaisseau_x = 35;
  vaisseau_y = 35;
  missile_y = 35;
  missile_x = 35;
  plane_y = -20;
  plane_x = 20;
aze_x = 45;
aze_y = -80;
aa_x = 60;
aa_y = -60;
bb_x = 20;
bb_y = -100;

}


void updateMissile()
{
  //le missile fait 5 de haut donc 0 - 5 = -5 ce qui fait qu'a -1 il sera de sur hors ecran
  if(missile_y>-1)
  {
    //on remonte le missile
   missile_y = missile_y -3;
  }
  else
  {
    //on ne gere plus le missile il est hors ecran
    missile_y = -10;
    missile_x = -10;
  }

}

void updateVaisseau()
{
  //si on presse un bouton on bouge le vaisseau
  if(gb.buttons.repeat(BTN_LEFT, 1))
  {
    vaisseau_x =  vaisseau_x - 1,5;
  }
  if(gb.buttons.repeat(BTN_RIGHT, 1))
  {
    vaisseau_x=  vaisseau_x + 1,5;
  }
  if(gb.buttons.repeat(BTN_UP, 1))
  {
    vaisseau_y=  vaisseau_y - 1,5;
  }
  if(gb.buttons.repeat(BTN_DOWN, 1) )
  {
    vaisseau_y = vaisseau_y + 1,5;
  }
  if(gb.buttons.pressed(BTN_A) )
  {
    //missile pret a etre tiré
    if(missile_y==-10)
    {
      missile_y = vaisseau_y;
      missile_x = vaisseau_x;
    }
  }
}


void drawVaisseau()
{
  gb.display.drawBitmap(vaisseau_x,vaisseau_y,vaisseau);
}
void drawMissile()
{
  gb.display.drawBitmap(missile_x,missile_y,missile);
}
void drawplane()
{
  gb.display.drawBitmap(plane_x,plane_y,plane);
}
void drawaze()
{
  gb.display.drawBitmap(aze_x,aze_y,aze);
}
void drawaa()
{
  gb.display.drawBitmap(aa_x,aa_y,aa);
}
void drawbb()
{
  gb.display.drawBitmap(bb_x,bb_y,bb);
}


boolean IsAller = true;

//--------------------------------------------------------
void skyNet()
{
  if (IsAller)
  {
     
  }
  else
  {
    //je vais vers le bas
    plane_y = plane_y +1;
    aze_y = aze_y +1;
    aa_y = aa_y +1;
    bb_y = bb_y +1;
  }
 

  {
    //is aller est un boolean qui peut prendre deux valeur true ou false
    IsAller = false;
  }
  //si on ou vas en dessous de zero on fait demis tour
  if(plane_x<=0)
  if(aze_x<=0)
  if(bb_x<=0)
  {
    IsAller = true;
  }
 
  if(random(0,20) == 0)
  {
  }
}



//
void drawTitleScreen(){
  gb.titleScreen(F(""),logo);
  gb.pickRandomSeed(); //pick a different random seed each time for games to be different
  initGame();
}
LuDoPhotography
 
Posts: 51
Joined: Tue Nov 11, 2014 8:33 am

Re: [FR] Questions multiples

Postby Myndale » Sat Jan 10, 2015 11:29 pm

The pane at the bottom of the IDE shows you the error and line number that it occurs on:

Code: Select all
sketch_jan11a:92: error: expected unqualified-id before 'if'


The first problem is this code:

Code: Select all
if(isAlive)
{
//declaration d'une image
const  unsigned char PROGMEM plane[] =
{
  8, 5,
  B00111100,
  B00011000,
  B01111110,
  B00011000,
  B00011000,
};
}


You can't just put "if" statements anywhere in the code, they have to be placed inside a function. You're already declaring the plane[] array further down so delete this entire block.

The next problem is your loop function:

Code: Select all
if(gb.collideBitmapBitmap(x1, y1, ennemi, x2, y2, missille))
{
isAlive = false;
   //dessine l' enemib
   drawaze();
   
  //dessine l'enemi
  drawaa();
    //dessine l'enemi
  drawbb();


There are 2 problems with this code, first of all you're missing a closing curly brace (i.e. }). The second problem is that you're passing x1/y1/x2/y2 into the collideBitmapBitmap function but you haven't declared these anywhere, did you mean to use vaisseau_x/vaisseau_y/missile_x/missile_y?
Myndale
 
Posts: 507
Joined: Sat Mar 01, 2014 1:25 am

Re: [FR] Questions multiples

Postby LuDoPhotography » Sun Jan 18, 2015 8:17 pm

J'ai pas réussi à corriger le code..
LuDoPhotography
 
Posts: 51
Joined: Tue Nov 11, 2014 8:33 am


Return to Programming Questions

Who is online

Users browsing this forum: No registered users and 11 guests

cron