Bonjour,
j'aimerais programmer le jeu Snake en Javascool très simplement. Sur un fond de 25 sur 25 pixels, le snake est composé de 3 pixels au démarrage.
Merci d'avance pour votre aide
-----
Bonjour,
j'aimerais programmer le jeu Snake en Javascool très simplement. Sur un fond de 25 sur 25 pixels, le snake est composé de 3 pixels au démarrage.
Merci d'avance pour votre aide
Bonjour
Pourquoi ne pas utiliser un éditeur "plus conventionnel" (Eclipse, Netbeans....) ? Sinon c'est du java : quels points te posent problème ?
Bonne idée.
Quelle est la question?
petit rappel:
http://forums.futura-sciences.com/pr...ces-forum.html
En fait, le javascool n'est pas tout à fait du java. Et je n'utilise pas d'éditeur plus conventionnel, c'est parce que notre prof nous l'impose
Je ne suis pas bon en programmation et j'aimerais qu'on me guide au moins sur les fonctions à utiliser...
Merci d'avance pour votre aide.
Bonjour,
D'accord j'ai pas creusé, mais j'avais l'impression que c'était un éditeur de Java "pour débutant".En fait, le javascool n'est pas tout à fait du java.
Et la proglet java te permet d'écrire de faire un programme en "vrai" java.
Dans ce cas la première étape n'est pas de faire un Snake...qu'est-ce que tu sais faire concrètement ?Je ne suis pas bon en programmation
Arzhur : je n'ai pas le choix ! J'ai un devoir qui consiste à faire un snake. Quand je dis que dis que je suis pas bon c'est que je suis pas un boss du codage quoi
Bref, j'ai (presque) réussi à faire le snake. Cependant, il y a une erreur : quand le snake se mord la queue, on ne perd pas mais il fait comme si c'était de la nourriture (il s'agrandit et une nouvelle nourriture apparaît, ce qui en fait 2 du coup..).
Merci d'avance pour votre aide
PS : voulez vous que je mette le code ?
Effectivement ça aiderait bcp (n'oublie pas les balises CODE)PS : voulez vous que je mette le code ?
Voilà le code, bon tout n'est pas parfait loin de là mais bon :
Code://Devoir Snake //Alexis Gagoud - Maël Hamon, TS6 //Rendu le 29/01/2014 int taille =5; int click =1; boolean perdu = false; int coordoneeWidth[] = new int[1250]; //Tableau largeur int coordoneeHeight[] = new int[1250]; //Tableau hauteur void gameOver() { //Fonction affichage d'un écran noir après défaite for (int i =-25; i <26; i ++) { for (int j =-25; j <26; j ++) { setPixel(j, i, "black"); } sleep(5); } sleep(200); } void perdu() { //Fonction qui "nettoie" l'écran et qui appelle la fonction gameOver perdu = true; click =0; clear(); gameOver(); print("Vous avez perdu."); } void deplacement() { //Fonction utilisée pour le déplacement du Snake while (perdu == false) { while (click ==1) { changementCoordonee(); setPixel(coordoneeWidth[taille-1], coordoneeHeight[taille-1], "white"); coordoneeHeight[0] = coordoneeHeight[0] +1; if (getPixel(coordoneeWidth[0], coordoneeHeight[0]) !=255) { augmentationTaille(); } setPixel(coordoneeWidth[1], coordoneeHeight[1], "green"); setPixel(coordoneeWidth[0], coordoneeHeight[0], "black"); sleep(50); setRunnable(new Runnable() { public void run() { if (getX() < coordoneeWidth[0]) { click =4;} else { click =2;} } } ); } while (click ==2) { changementCoordonee(); setPixel(coordoneeWidth[taille-1], coordoneeHeight[taille-1], "white"); coordoneeWidth[0] = coordoneeWidth[0] +1; if (getPixel(coordoneeWidth[0], coordoneeHeight[0]) !=255) { augmentationTaille(); } setPixel(coordoneeWidth[1], coordoneeHeight[1], "green"); setPixel(coordoneeWidth[0], coordoneeHeight[0], "black"); sleep(50); setRunnable(new Runnable() { public void run() { if (getY() < coordoneeHeight[0]) { click =3;} else { click =1;} } } ); } while (click ==3) { changementCoordonee(); setPixel(coordoneeWidth[taille-1], coordoneeHeight[taille-1], "white"); coordoneeHeight[0] = coordoneeHeight[0] -1; if (getPixel(coordoneeWidth[0], coordoneeHeight[0]) !=255) { augmentationTaille(); } setPixel(coordoneeWidth[1], coordoneeHeight[1], "green"); setPixel(coordoneeWidth[0], coordoneeHeight[0], "black"); sleep(50); setRunnable(new Runnable() { public void run() { if (getX() < coordoneeWidth[0]) { click =4;} else { click =2;} } } ); } while (click ==4) { changementCoordonee(); setPixel(coordoneeWidth[taille-1], coordoneeHeight[taille-1], "white"); coordoneeWidth[0] = coordoneeWidth[0] -1; if (getPixel(coordoneeWidth[0], coordoneeHeight[0]) !=255) { augmentationTaille(); } setPixel(coordoneeWidth[1], coordoneeHeight[1], "green"); setPixel(coordoneeWidth[0], coordoneeHeight[0], "black"); sleep(50); setRunnable(new Runnable() { public void run() { if (getY() < coordoneeHeight[0]) { click =3;} else { click =1;} } } ); } } } void positionDepart() { coordoneeWidth[1] =0; coordoneeWidth[2] =0; coordoneeWidth[3] =0; coordoneeWidth[4] =0; coordoneeHeight[0] =4; coordoneeHeight[1] =3; coordoneeHeight[2] =2; coordoneeHeight[3] =1; coordoneeHeight[4] =0; } void changementCoordonee() { for (int k = taille-1; k >=0; k --) { coordoneeHeight[k +1] = coordoneeHeight[k]; } for (int k = taille-1; k >=0; k --) { coordoneeWidth[k +1] = coordoneeWidth[k]; } } void augmentationTaille() { if (getPixel(coordoneeWidth[0], coordoneeHeight[0]) ==85) { taille = taille+1; apparitionFruit(); } else { perdu(); } } void apparitionFruit() { int fruit =0; while (fruit ==0) { setPixel(random( -24, 24), random( -24, 24), "blue"); for (int x =-25; x <26; x ++) { for (int y =-25; y <26; y ++) { if (getPixel(y, x) ==85) { fruit =1; } } } } fruit =0; } void main() { reset(25, 25); apparitionFruit(); positionDepart(); deplacement(); reset(25, 25); }
Bonjour,
Y'a un soucis avec la fonction getPixel() ...que ton pixel soit "blue" ou "green"....elle renvoie 85. Je te conseille de bosser uniquement en niveau de gris et donc d'utiliser la fonction setPixel(int , int , int).
Sinon n'hesite pas a commenter ton code, explique un peu ce que tu fais pour qu'on comprenne ton raisonnement tout de suite.
EDIT : faudrait peut-être enlever/masquer les noms de famille dans le code