Skip to content

Commit 54f0998

Browse files
authored
uploaded turtle crossing road game
1 parent 855b3a7 commit 54f0998

File tree

4 files changed

+100
-0
lines changed

4 files changed

+100
-0
lines changed

car_manager.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from turtle import Turtle
2+
import random
3+
COLORS = ["red", "orange", "yellow", "green", "blue", "purple"]
4+
STARTING_MOVE_DISTANCE = 4
5+
MOVE_INCREMENT = 5
6+
7+
class CarManager:
8+
def __init__(self):
9+
self.all_cars = []
10+
self.speed=STARTING_MOVE_DISTANCE
11+
def create_car(self):
12+
cool=random.randint(1,7)
13+
if cool==1:
14+
tim=Turtle()
15+
tim.penup()
16+
tim.shape("square")
17+
tim.shapesize(stretch_wid=1,stretch_len=2)
18+
tim.color(random.choice(COLORS))
19+
tim.goto(300,random.randint(-250,250))
20+
tim.setheading(180)
21+
self.all_cars.append(tim)
22+
23+
def move_all(self):
24+
for _ in self.all_cars:
25+
_.forward(self.speed)
26+
def increase_speed(self):
27+
self.speed+=MOVE_INCREMENT

player.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from turtle import Turtle
2+
STARTING_POSITION = (0, -280)
3+
MOVE_DISTANCE = 10
4+
FINISH_LINE_Y = 280
5+
6+
class Player(Turtle):
7+
def __init__(self):
8+
super().__init__()
9+
self.color("black")
10+
self.penup()
11+
self.goto(STARTING_POSITION)
12+
self.shape("turtle")
13+
self.setheading(90)
14+
15+
def move_up(self):
16+
self.forward(MOVE_DISTANCE)
17+
def move_down(self):
18+
self.backward(MOVE_DISTANCE)
19+
def startOver(self):
20+
self.goto(STARTING_POSITION)

scoreboard.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FONT = ("Courier", 20, "bold")
2+
from turtle import Turtle
3+
4+
class Scoreboard(Turtle):
5+
def __init__(self):
6+
super().__init__()
7+
8+
self.level=1
9+
self.color("black")
10+
self.hideturtle()
11+
self.penup()
12+
self.goto(-280,260)
13+
self.update()
14+
def update(self):
15+
self.write(f"LEVEL={self.level}", align="left", font=FONT)
16+
def level_inc(self):
17+
self.level+=1
18+
self.clear()
19+
self.update()
20+
def gameover(self):
21+
self.goto(0,0)
22+
self.write(f"Game Over", align="center", font=FONT)

turtle crossing/main.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import time
2+
from turtle import Screen,Turtle
3+
from player import Player
4+
from car_manager import CarManager
5+
from scoreboard import Scoreboard
6+
7+
screen = Screen()
8+
screen.setup(width=600, height=600)
9+
screen.tracer(0)
10+
player=Player()
11+
game_is_on = True
12+
screen.listen()
13+
car_manager = CarManager()
14+
scoreboard=Scoreboard()
15+
while game_is_on:
16+
car_manager.create_car()
17+
time.sleep(0.1)
18+
car_manager.move_all()
19+
for _ in car_manager.all_cars:
20+
if _.distance(player)<20:
21+
scoreboard.gameover()
22+
game_is_on=False
23+
screen.onkey(key="Up",fun=player.move_up)
24+
screen.onkey(key="Down",fun=player.move_down)
25+
26+
if player.ycor()>=280:
27+
player.startOver()
28+
car_manager.increase_speed()
29+
scoreboard.level_inc()
30+
screen.update()
31+
screen.exitonclick()

0 commit comments

Comments
 (0)