Hi i’m new to processing and coding in general , i have a project that is due in 6 hours and i have problems everywhere in my code , i keep looking of them and cant find anything and i’m very desperate.can you guys help me please? here is my code , i keep getting "unnexpected token void "on
my repaint fucntion and my test hit function
//////////////////////////////////////////////////////////////
//
// Les déclarations de variables
//
//////////////////////////////////////////////////////////////
PImage gun;
float x,y; //coordonnées du canon
float misx,misy; // coordonnées du missile
float vitm;//vitesse du missile
boolean mist; //test pour savoir si le missile a été tiré
PImage inv;//image de l'invader
float invx,invy;//positions de l'invader
int per; //periodicité du déplacement
int compt;//compteur chaque 30 frames
int Vi;//vitesse de l'invader
int score,mscore; //score et meilleur score
//////////////////////////////////////////////////////////////
//
// La fonction d'initialisation
//
//////////////////////////////////////////////////////////////
void setup() {
gun= loadImage("gun.png");//initialisation de l'image du canon
inv= loadImage("goku.png");//initialisation de l'image de linvader
int mscore=0;
// fixe la taille de la fenêtre
size(600, 800);
// fixe la vitesse d'animation
frameRate(50);
// appelle la fonction d'initialisation du jeu
newGame();
drawGun();
drawInvader();
}
//////////////////////////////////////////////////////////////
//
// La boucle de rendu
//
//////////////////////////////////////////////////////////////
void draw() {
control();
repaint();
if (mist==true){
goBullet();
}
compt=(compt+1)%per;
if (compt==0){
goInvader();
}
}
//////////////////////////////////////////////////////////////
//
// L'initialisation du jeu
//
//////////////////////////////////////////////////////////////
void newGame() {
float x=width/2;
float y=760.0;
float invx=0;
float invy=0;
int per=30;
int comp=0;
int Vi=20;
int score=0;
}
//////////////////////////////////////////////////////////////
//
// Le tir d'un missile
//
//////////////////////////////////////////////////////////////
void fire() {
misx=x;
misy=y;
mist=true;
}
//////////////////////////////////////////////////////////////
//
// L'animation du missile
//
//////////////////////////////////////////////////////////////
void goBullet() {
misy=misy-vitm;
if (misy<1){
mist=false;
}
}
//////////////////////////////////////////////////////////////
//
// L'animation de l'invader
//
//////////////////////////////////////////////////////////////
void goInvader() {
if (invx>= width - 50 && Vi>0){
invx=invx+Vi;//ajout de la vitesse a la position
}
else if(invx==width-50) {//descendre d'un rang et inverser la vitesse
invy=invy+50;
Vi=-Vi;
if(per>10){
per=per-2;
}
}
if (invx<=width-50 && Vi<0){
invx=inx+Vi;
}
else if (invx==width+50){
Vi=-Vi;
if(per>10){
per=per-2;
}
}
//////////////////////////////////////////////////////////////
//
// La mise à jour de la fenêtre d'animation
// Cette fonction utilise notamment les fonctions :
// - drawGun pour afficher le canon
// - drawInvader pour afficher l'invader
// - drawBullet pour afficher le missile
//
//////////////////////////////////////////////////////////////
void repaint() {
tint(232,48,16);
drawInvader();
if (mist==true){
drawBullet() ;
}
}
//////////////////////////////////////////////////////////////
//
// L'affichage du canon
//
//////////////////////////////////////////////////////////////
void drawGun() {
tint(232,48,16);
image(gun,300,780,54,39);
}
//////////////////////////////////////////////////////////////
//
// L'affichage de l'invader
//
//////////////////////////////////////////////////////////////
void drawInvader() {
noTint();
image(inv,0,0,54,39);
}
//////////////////////////////////////////////////////////////
//
// L'affichage du missile
//
//////////////////////////////////////////////////////////////
void drawBullet() {
line(misx,misy,misx+3,misy+5);
}
//////////////////////////////////////////////////////////////
//
// Teste si le missile percute l'invader
//
//////////////////////////////////////////////////////////////
void testHit() {
if (misx>=invx && misx<=invx+54 && misy>= invy && missy<=invy-39){
score=score+1;
mist=false;
if (score>=mscore){
mscore=score;}
}
}
//////////////////////////////////////////////////////////////
//
// L'affichage du score
//
//////////////////////////////////////////////////////////////
void drawScore() {
}
//////////////////////////////////////////////////////////////
//
// L'affichage du message "GAME OVER"
//
//////////////////////////////////////////////////////////////
void gameOver() {
}
//////////////////////////////////////////////////////////////
//
// Pilote le canon et contrôle le lancement de missiles
//
//////////////////////////////////////////////////////////////
void control() {
while (x>gun.width/2){
if (keyCode == LEFT){
x=x-5;
}
}
while (x<600-gun.width/2){
if (keyCode == RIGHT) {
x=x+5;
}
}
if (mist==false){
if(keyCode== TAB){
fire();
}
}
}
Hi thanks for your response and i edited the code.
What does unnexpected token void means in general? i have several of those and i’m very lost
i have erors at repaint and testHit , been looking for syntaxt erors and cant find any
It means that you used void in the wrong place. You can see that pretty clearly if you take another look at your Code now that it‘s formatted.
Your functions are part of the PApplet class (which is implied, so you don‘t see the actual class and only some things… it‘s complicated so lets stop with this), therefore they should never be indented, but they are in your Code.
That is because you missed some curly brackets at the end of the preceding function.
//////////////////////////////////////////////////////////////
//
// Les déclarations de variables
//
//////////////////////////////////////////////////////////////
PImage gun;
float x,y; //coordonnées du canon
float misx,misy; // coordonnées du missile
float vitm;//vitesse du missile
boolean mist= false; //test pour savoir si le missile a été tiré
PImage inv;//image de l'invader
float invx,invy;//positions de l'invader
int per; //periodicité du déplacement
int compt;//compteur chaque 30 frames
int Vi;//vitesse de l'invader
int score,mscore; //score et meilleur score
PFont joysticks;//police d'affichage
boolean gamov= false;//variable de fin de partie
//////////////////////////////////////////////////////////////
//
// La fonction d'initialisation
//
//////////////////////////////////////////////////////////////
void setup() {
joysticks=createFont("joystix.ttf",16);
textFont(joysticks);
text(score,50,30);
text( mscore,400,30);
imageMode(CENTER);
gun= loadImage("gun.png");//initialisation de l'image du canon
imageMode(CENTER);
inv= loadImage("goku.png");//initialisation de l'image de linvader
int mscore=0;
// fixe la taille de la fenêtre
size(600, 800);
// fixe la vitesse d'animation
frameRate(50);
// appelle la fonction d'initialisation du jeu
newGame();
drawGun();
drawInvader();
}
//////////////////////////////////////////////////////////////
//
// La boucle de rendu
//
//////////////////////////////////////////////////////////////
void draw() {
control();
repaint();
if (mist){
goBullet();
}
compt=(compt+1)%per;
if (compt==0){
goInvader();
}
if (gamov== false){
gameOver();
}
}
//////////////////////////////////////////////////////////////
//
// L'initialisation du jeu
//
//////////////////////////////////////////////////////////////
void newGame() {
x=width/2;
y=750;
invx=0;
invy=0;
per=30;
comp=0;
Vi=20;
score=0;
gamov=false;
}
//////////////////////////////////////////////////////////////
//
// Le tir d'un missile
//
//////////////////////////////////////////////////////////////
void fire() {
misx=x;
misy=y;
mist=true;
}
//////////////////////////////////////////////////////////////
//
// L'animation du missile
//
//////////////////////////////////////////////////////////////
void goBullet() {
misy=misy-vitm;
if (misy<0){
mist=false;
}
}
//////////////////////////////////////////////////////////////
//
// L'animation de l'invader
//
//////////////////////////////////////////////////////////////
void goInvader() {
if (invx>= width - 50 && Vi>0){
invx=invx+Vi;//ajout de la vitesse a la position
}
else if(invx==width-50) {//descendre d'un rang et inverser la vitesse
invy=invy+50;
Vi=-Vi;
if(per>10){
per=per-2;
}
}
if (invx<=width-50 && Vi<0){
invx=invx+Vi;
}
else if (invx==width+50){
Vi=-Vi;
if(per>10){
per=per-2;
}
}
if(invy==y){
gamov=true;
}
}
//////////////////////////////////////////////////////////////
//
// La mise à jour de la fenêtre d'animation
// Cette fonction utilise notamment les fonctions :
// - drawGun pour afficher le canon
// - drawInvader pour afficher l'invader
// - drawBullet pour afficher le missile
//
//////////////////////////////////////////////////////////////
void repaint (){
drawInvader();
tint(232,48,16);
if (mist){
drawBullet();
}
}
//////////////////////////////////////////////////////////////
//
// L'affichage du canon
//
//////////////////////////////////////////////////////////////
void drawGun() {
tint(232,48,16);
image(gun,x,y,54,39);
}
//////////////////////////////////////////////////////////////
//
// L'affichage de l'invader
//
//////////////////////////////////////////////////////////////
void drawInvader() {
noTint();
image(inv,invx,invy,54,39);
}
//////////////////////////////////////////////////////////////
//
// L'affichage du missile
//
//////////////////////////////////////////////////////////////
void drawBullet() {
line(misx,misy,misx+3,misy+5);
}
//////////////////////////////////////////////////////////////
//
// Teste si le missile percute l'invader
//
//////////////////////////////////////////////////////////////
void testHit() {
if (mist)
if (misx>=invx && misx<=invx+54 && misy>= invy && misy<=invy-39){
score=score+1;
mist=false;
if (score>=mscore){
mscore=score;
}
}
}
//////////////////////////////////////////////////////////////
//
// L'affichage du score
//
//////////////////////////////////////////////////////////////
void drawScore() {
}
//////////////////////////////////////////////////////////////
//
// L'affichage du message "GAME OVER"
//
//////////////////////////////////////////////////////////////
void gameOver() {
if (gamov==true){
println("GAME OVER!!",300,400);
print("Press the space bar to start the game again!",300,450);
}
}
//////////////////////////////////////////////////////////////
//
// Pilote le canon et contrôle le lancement de missiles
//
//////////////////////////////////////////////////////////////
void control() {
while (x>gun.width/2){
if (keyCode == LEFT){
x=x-5;
}
}
while (x<600-gun.width/2){
if (keyCode == RIGHT) {
x=x+5;
}
}
if (mist==false){
if(keyCode== TAB){
fire();
}
if (gamov==true){
if (keyCode==TAB){
gamov=false;
newGame();
}
}
}
}
ok i'm done with coding i'm upposed to have a space invaders game , i followed all steps but nothing is moving witch is weird ,when others from my class succeded and i dont understand my mistake
ok i’m done with coding i’m upposed to have a space invaders game , i followed all steps but nothing is moving witch is weird ,when others from my class succeded and i dont understand my mistake