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);
}}}