Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c4c1604

Browse files
Python Turtle Race Game
Python Turtle Race Game
1 parent e634585 commit c4c1604

File tree

8 files changed

+127
-0
lines changed

8 files changed

+127
-0
lines changed

‎.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/Coin.iml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/inspectionProfiles/Project_Default.xml

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎main.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import turtle
2+
import time
3+
import random
4+
5+
WIDTH, HEIGHT = 700, 600
6+
COLORS = ['red', 'green', 'blue', 'orange', 'yellow',
7+
'black', 'purple', 'pink', 'brown', 'cyan']
8+
9+
def get_number_of_racers():
10+
racers = 0
11+
while True:
12+
racers = input('Enter the number of racers (2 - 10): ')
13+
if racers.isdigit():
14+
racers = int(racers)
15+
else:
16+
print('Input is not numeric... Try Again!')
17+
continue
18+
19+
if 2 <= racers <= 10:
20+
return racers
21+
else:
22+
print('Number not in range 2-10. Try Again!')
23+
def race(colors):
24+
turtles = create_turtles(colors)
25+
26+
27+
while True:
28+
for racer in turtles:
29+
distance = random.randrange(1, 20)
30+
racer.forward(distance)
31+
32+
x, y = racer.pos()
33+
if y >= HEIGHT // 2 - 10:
34+
return colors[turtles.index(racer)]
35+
36+
def create_turtles(colors):
37+
turtles = []
38+
spacingx = WIDTH // (len(colors) + 1)
39+
for i, color in enumerate(colors):
40+
racer = turtle.Turtle()
41+
racer.color(color)
42+
racer.shape('turtle')
43+
racer.left(90)
44+
racer.penup()
45+
racer.setpos(-WIDTH//2 + (i + 1) * spacingx, -HEIGHT//2 + 20)
46+
racer.pendown()
47+
turtles.append(racer)
48+
49+
return turtles
50+
51+
def init_turtle():
52+
screen = turtle.Screen()
53+
screen.setup(WIDTH, HEIGHT)
54+
screen.title('Turtle Racing!')
55+
56+
racers = get_number_of_racers()
57+
init_turtle()
58+
59+
random.shuffle(COLORS)
60+
colors = COLORS[:racers]
61+
62+
winner = race(colors)
63+
print("The winner is the turtle with color:", winner)
64+
time.sleep(5)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /