-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathRacing.java
97 lines (85 loc) · 2.16 KB
/
Racing.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
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Racing extends Thread implements KeyListener
{
JFrame f;
JLayeredPane pane;
JLabel back,car,arrow,timer;
Racing()
{
f=new JFrame("Racing");
f.setSize(740,530);
f.setVisible(true);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
f.setLayout(null);
f.setResizable(false);
back=new JLabel();
back.setBounds(0,0,740,500);
car=new JLabel();
car.setBounds(431,445,36,57);
arrow=new JLabel();
arrow.setBounds(280,250,200,150);
timer=new JLabel(new ImageIcon("timer.png"));
timer.setBounds(600,10,50,20);
pane=f.getLayeredPane();
pane.add(back,new Integer(1));
pane.add(car,new Integer(2));
pane.add(arrow,new Integer(2));
pane.add(timer,new Integer(2));
car.setIcon(new ImageIcon("car_mask.png"));
arrow.setIcon(new ImageIcon("arrow.png"));
f.addKeyListener(this);
}
int time_min=00,time_sec=00,time_msec=00;
public void run()
{
while(true)
{
try
{
timer.setText(time_min+":"+time_sec);
back.setIcon(new ImageIcon("race1.png"));
Thread.sleep(100);
time_msec+=100;
timer.setText(time_min+":"+time_sec);
back.setIcon(new ImageIcon("race2.png"));
Thread.sleep(100);
time_msec+=100;
time_sec=time_msec==1000?time_sec+=1:time_sec;
time_msec=time_msec==1000?time_msec=0:time_msec;
timer.setText(time_min+":"+time_sec);
time_min=time_sec==60?(time_min+=1):time_min;
time_sec=time_sec==60?time_sec=0:time_sec;
}catch(Exception e){}
}
}
public void keyPressed(KeyEvent ke)
{
pane.remove(arrow);
int c=ke.getKeyCode();
if(c==ke.VK_LEFT && car.getX()>=185)
{
car.setBounds((car.getX()-3),(car.getY()),36,57);
}
else if(c==ke.VK_RIGHT && car.getX()<=520)
{
car.setBounds((car.getX()+3),(car.getY()),36,57);
}
else if(c==ke.VK_UP && car.getY()>=0)
{
car.setBounds((car.getX()),(car.getY()-3),36,57);
}
else if(c==ke.VK_DOWN && car.getY()<=445)
{
car.setBounds((car.getX()),(car.getY()+3),36,57);
}
}
public void keyReleased(KeyEvent ke1){}
public void keyTyped(KeyEvent ke2){}
public static void main(String args[])
{
Racing rt1=new Racing();
rt1.start();
}
}