Understanding the language, error messages, etc.
by 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
by 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
by 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
by 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
by 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
Return to Programming Questions
Who is online
Users browsing this forum: No registered users and 5 guests