Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | int deroulementSimulation(int emplacementduchien) { int deplacement_voiture =21; int deplacement_voiture2 =-1; for (int avancee_du_chien =0; avancee_du_chien <11; avancee_du_chien ++) { //Permet le déplacement du chien sur le plateau. deplacement_voiture = deplacement_voiture-1;//permet de faire reculer d'un pixel le devant de la voiture deplacement_voiture2 = deplacement_voiture2 +1;//permet de faire avancer d'un pixel le devant de la voiture setPixel(deplacement_voiture, 2, "red");//trace la voiture rouge. setPixel(deplacement_voiture, 3, "red");//trace la voiture rouge. setPixel(deplacement_voiture+3, 2, 50);//efface après trois pixel le tracé de la voiture rouge. setPixel(deplacement_voiture+3, 3, 50);//efface après trois pixel le tracé de la voiture rouge. setPixel(deplacement_voiture2, 7, "blue");//trace la voiture bleu. setPixel(deplacement_voiture2, 8, "blue");//trace la voiture bleu. setPixel(deplacement_voiture2 -3, 7, 50);//efface après trois pixel le tracé de la voiture bleue. setPixel(deplacement_voiture2 -3, 8, 50);//efface après trois pixel le tracé de la voiture bleue. double direction = Math.random(); //Direction droite/gauche aleatoire. if (avancee_du_chien ==6) { //Quand le chien passe la ligne blanche. setPixel(avancee_du_chien -1 + emplacementduchien, avancee_du_chien -1, "white"); //Colorie en blanc. } else if (avancee_du_chien ==1) { //Quand le chien à quitté l'herbe, setPixel(avancee_du_chien -1 + emplacementduchien, avancee_du_chien -1, "green"); //Colorie en vert. } else { //Quand le chien passe sur la route, setPixel(avancee_du_chien -1 + emplacementduchien, avancee_du_chien -1, 50); //Colorie en gris(50). } if (direction <0.5) { //Pour se déplacer à droite. if (avancee_du_chien+emplacementduchien==22){//Empeche le chien de sortir du plateau. emplacementduchien=emplacementduchien -2; } setPixel(avancee_du_chien + emplacementduchien, avancee_du_chien, "black"); //Trace le chien. sleep(500); if((avancee_du_chien + emplacementduchien)==deplacement_voiture2&&avancee_du_chien==7||(avancee_du_chien + emplacementduchien)==deplacement_voiture2&&avancee_du_chien==8){ println("le chien s'est fait écraser par la voiture bleue!");//Indique la mort du chien. } else if((avancee_du_chien + emplacementduchien)==deplacement_voiture&&avancee_du_chien==2||(avancee_du_chien + emplacementduchien)==deplacement_voiture&&avancee_du_chien==3){ println("le chien s'est fait écraser par la voiture rouge!");//Indique la mort du chien. } } else { //Lorsque le chien se déplace à gauche. emplacementduchien = emplacementduchien -2; if (avancee_du_chien+emplacementduchien==-1){//Empeche le chien de sortir du plateau. emplacementduchien=emplacementduchien+2; } setPixel(avancee_du_chien + emplacementduchien, avancee_du_chien, "black"); //Trace le pixel du chien. sleep(500); /*Si le chien touche la voiture bleue*/if((avancee_du_chien + emplacementduchien)==deplacement_voiture2&&avancee_du_chien==7||(avancee_du_chien + emplacementduchien)==deplacement_voiture2&&avancee_du_chien==8||(avancee_du_chien + emplacementduchien)==deplacement_voiture2-1&&avancee_du_chien==7){ println("le chien s'est fait écraser par la voiture bleue!");//Indique la mort du chien. } /*Si le chien touche la voiture bleue*/else if((avancee_du_chien + emplacementduchien)==deplacement_voiture&&avancee_du_chien==2||(avancee_du_chien + emplacementduchien)==deplacement_voiture&&avancee_du_chien==3||(avancee_du_chien + emplacementduchien)==deplacement_voiture+1&&avancee_du_chien==2){ println("le chien s'est fait écraser par la voiture rouge!");//Indique la mort du chien. } } } println("fin de la simulation.");//Indique l'arrêt de la simulation. return emplacementduchien;} void main() { reset(21, 11, false); //Initialise le plateau. for (int horizontal =0; horizontal <21; horizontal ++) { //Place le décors. setPixel(horizontal, 0, "green"); //Trace l'herbe. setPixel(horizontal, 10, "green"); for (int vertical =1; vertical <10; vertical ++) { if (vertical ==5) { setPixel(horizontal, vertical, "white"); } else { setPixel(horizontal, vertical, 50); } //Trace la route. } } int entrer_pas_valider=1; while (entrer_pas_valider==1){ int DemandeUtilisateur=readInt("Par quel pixel commence le chien ?(entrez un nombre de 0 à 21"); if (DemandeUtilisateur<0||DemandeUtilisateur>21){ } else { entrer_pas_valider=0; int lancer_programme = deroulementSimulation(DemandeUtilisateur); }}} |