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