File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
1
+ import time
2
+
3
+ class Car :
4
+ def __init__ (self , name , top_speed , acceleration ):
5
+ self .name = name
6
+ self .top_speed = top_speed
7
+ self .acceleration = acceleration
8
+ self .current_speed = 0
9
+ self .gear = 1
10
+
11
+ def accelerate (self ):
12
+ if self .gear == 1 :
13
+ rpm = self .current_speed / self .top_speed
14
+ else :
15
+ rpm = self .current_speed / (self .top_speed * (self .gear - 1 ))
16
+ self .current_speed += self .acceleration * self .gear
17
+ print (f"{ self .name } : { self .current_speed :.2f} km/h (Gear: { self .gear } , RPM: { rpm :.2f} )" )
18
+
19
+ def shift_gear (self ):
20
+ if self .gear < 5 :
21
+ self .gear += 1
22
+
23
+ def race (self ):
24
+ print (f"{ self .name } is racing!" )
25
+ while self .current_speed < self .top_speed :
26
+ time .sleep (0.5 )
27
+ self .accelerate ()
28
+ if self .current_speed >= self .top_speed * 0.8 :
29
+ self .shift_gear ()
30
+
31
+ if __name__ == "__main__" :
32
+ car1 = Car ("Player Car" , top_speed = 200 , acceleration = 20 )
33
+ car2 = Car ("AI Car" , top_speed = 180 , acceleration = 18 )
34
+
35
+ car1 .race ()
36
+ print ("\n " )
37
+ car2 .race ()
You can’t perform that action at this time.
0 commit comments