-
Notifications
You must be signed in to change notification settings - Fork 0
/
personne1r.java
139 lines (127 loc) · 4.25 KB
/
personne1r.java
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
import java.awt.Image;
import java.util.Random;
import java.util.concurrent.Semaphore;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class personne1r extends Thread {
private Semaphore waitBus, v3;
private String direction[] = { "busR", "Non" };
private String myDirection;
private String en[] = { "/p droite/1.png", "/p droite/2.png", "/p droite/3.png", "/p droite/4.png", "/p droite/5.png" },
f[] = { "/p bus/1.png", "/p bus/2.png", "/p bus/3.png", "/p bus/4.png", "/p bus/5.png" },
b[] = { "/p haut/1.png", "/p haut/2.png", "/p haut/3.png", "/p haut/4.png", "/p haut/5.png" };
int i;
public personne1r(Semaphore waitBus, Semaphore v3) {
this.waitBus = waitBus;
this.v3 = v3;
this.myDirection = direction[new Random().nextInt(direction.length)];
this.i = new Random().nextInt(en.length);
}
public void run() {
try {
traversee1();
} catch (InterruptedException e) {
}
}
private void traversee1() throws InterruptedException {
int x = -30, y = 490, w = 30, h = 30;
JLabel personne = new JLabel();
personne.setBounds(x, y, w, h);
ImageIcon pimg = new ImageIcon(getClass().getResource(en[i]));
Image pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
v3.acquire(); // pour l'entrée de gauche bas
sleep(new Random().nextInt(30000));
while (x < 100) {
sleep(100);
personne.setBounds(x++, y, w, h);
}
v3.release();
while (x < 135) {
sleep(100);
personne.setBounds(x++, y, w, h);
}
switch (myDirection) {
case "busR":
pimg = new ImageIcon(getClass().getResource(f[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (y < 540) {
sleep(100);
personne.setBounds(x, y++, w, h);
}
pimg = new ImageIcon(getClass().getResource(en[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (x < 210) {
sleep(100);
personne.setBounds(x++, y, w, h);
}
waitBus.acquire(); // pour l'attendre de bus
pimg = new ImageIcon(getClass().getResource(b[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (y > 500) {
sleep(30);
personne.setBounds(x, y--, w, h);
}
personne.setBounds(-50, -50, w, h);
break;
case "Non":
pimg = new ImageIcon(getClass().getResource(f[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (y < 580) {
sleep(100);
personne.setBounds(x, y++, w, h);
}
pimg = new ImageIcon(getClass().getResource(en[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (x < 370) {
sleep(100);
personne.setBounds(x++, y, w, h);
}
pimg = new ImageIcon(getClass().getResource(b[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (y > 520) {
sleep(100);
personne.setBounds(x, y--, w, h);
}
pimg = new ImageIcon(getClass().getResource(en[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (x < 590) {
sleep(100);
personne.setBounds(x++, y, w, h);
}
pimg = new ImageIcon(getClass().getResource(f[i]));
pim = pimg.getImage();
pim = pim.getScaledInstance(w, h, java.awt.Image.SCALE_SMOOTH);
personne.setIcon(new ImageIcon(pim));
Carrfour.secondPage.add(personne);
while (y < 700) {
sleep(100);
personne.setBounds(x, y++, w, h);
}
break;
}
}
}