Skip to content

Commit 074bac9

Browse files
committed
update 23 day program
1 parent b53024e commit 074bac9

File tree

6 files changed

+58
-8
lines changed

6 files changed

+58
-8
lines changed

020-day/scoreboard.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Scoreboard(Turtle):
88
def __init__(self) -> None:
99
super().__init__()
1010
self.score = 0
11-
self.color("White")
11+
self.color("white")
1212
self.penup()
1313
self.goto(0,270)
1414
self.hideturtle()

022-day/scoreboard.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class Scoreboard(Turtle):
77

88
def __init__(self) -> None:
99
super().__init__()
10-
self.color("White")
10+
self.color("white")
1111
self.penup()
1212
self.l_score = 0
1313
self.r_score = 0

023-day/car_manger.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
class CarManager:
99
def __init__(self) -> None:
1010
self.all_cars = []
11+
self.car_speed = STARTING_MOVE_DISTANCE
1112

1213
def create_car(self):
1314
random_chance = random.randint(1, 6)
1415
if random_chance == 1:
1516
new_car = Turtle("square")
16-
new_car.shapesize(stretch_wid=2, stretch_len=1)
17+
new_car.shapesize(stretch_wid=1, stretch_len=2)
1718
new_car.penup()
1819
new_car.color(random.choice(COLORS))
1920
random_y = random.randint(-250, 250)
@@ -22,4 +23,7 @@ def create_car(self):
2223

2324
def move_car(self):
2425
for car in self.all_cars:
25-
car.backward(STARTING_MOVE_DISTANCE)
26+
car.backward(self.car_speed)
27+
28+
def level_up(self):
29+
self.car_speed += MOVE_INCREMENT

023-day/player.py

+12-2
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,20 @@ def __init__(self) -> None:
99
super().__init__()
1010
self.shape("turtle")
1111
self.penup()
12-
self.goto(STARTING_POSITION)
12+
self.go_starting_position()
1313
self.color("red")
1414
self.setheading(90)
1515

1616
def go_up(self):
1717
new_y = self.ycor() + MOVE_DISTANCE
18-
self.goto(self.xcor(), new_y)
18+
self.goto(self.xcor(), new_y)
19+
20+
def is_at_finish_line(self):
21+
if self.ycor() > FINISH_LINE_Y:
22+
self.go_starting_position()
23+
return True
24+
else:
25+
return False
26+
27+
def go_starting_position(self):
28+
self.goto(STARTING_POSITION)

023-day/program41.py

+14
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,20 @@
2424

2525
car_manager.create_car()
2626
car_manager.move_car()
27+
28+
# Detect collision with the car
29+
for car in car_manager.all_cars:
30+
if car.distance(player) < 20:
31+
scoreboard.game_over()
32+
game_is_on = False
33+
34+
# Detect car turtle reaches finished line
35+
if player.is_at_finish_line():
36+
scoreboard.increase_score()
37+
scoreboard.update_scoreboard()
38+
car_manager.level_up()
39+
player.go_starting_position()
40+
2741

2842

2943

023-day/scoreboard.py

+24-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
1+
from turtle import Turtle
2+
13
FONT = ("Courier", 24, "normal")
4+
ALIGNMENT = "center"
25

3-
class Scoreboard:
4-
pass
6+
class Scoreboard(Turtle):
7+
def __init__(self) -> None:
8+
super().__init__()
9+
self.score = 0
10+
self.color("black")
11+
self.penup()
12+
self.goto(0,270)
13+
self.hideturtle()
14+
self.update_scoreboard()
15+
16+
def update_scoreboard(self):
17+
self.write(f"Score:{self.score}", align=ALIGNMENT, font=FONT)
18+
19+
def increase_score(self):
20+
self.score += 1
21+
self.clear()
22+
self.update_scoreboard()
23+
24+
def game_over(self):
25+
self.goto(0,0)
26+
self.write(f"GAME OVER", align=ALIGNMENT, font=FONT)

0 commit comments

Comments
 (0)