Skip to content

Commit 8918391

Browse files
authored
Merge pull request larymak#97 from oyerohabib/oyerohabib
completed turtle-race-game
2 parents e7c62b5 + 663d817 commit 8918391

File tree

4 files changed

+130
-0
lines changed

4 files changed

+130
-0
lines changed

Turtle-Race-Game/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Turtle-Race
2+
3+
### A randomly simulated turtle race! You can watch different color turtles race across the screen and keep track of the wins/losses of each turtle.
4+
5+
6+
## Requirements
7+
- turtle
8+
9+
### How to install
10+
- open the cmd
11+
- navigate to the file directory
12+
- do a pip install turtle
13+
- python main.py
14+
15+
## A visual look of the game
16+
<img src="https://github.com/oyerohabib/Python-project-Scripts/blob/oyerohabib/Turtle-Race-Game/Turtle-game.png">

Turtle-Race-Game/Turtle-game.png

10.2 KB
Loading

Turtle-Race-Game/main.py

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
import math
2+
import random
3+
import turtle
4+
#import time
5+
6+
win_length = 500
7+
win_height = 500
8+
9+
turtles = 8
10+
11+
turtle.screensize(win_length, win_height)
12+
13+
14+
class racer(object):
15+
def __init__(self, color, pos):
16+
self.pos = pos
17+
self.color = color
18+
self.turt = turtle.Turtle()
19+
self.turt.shape('turtle')
20+
self.turt.color(color)
21+
self.turt.penup()
22+
self.turt.setpos(pos)
23+
self.turt.setheading(90)
24+
25+
def move(self):
26+
r = random.randrange(1, 20)
27+
self.pos = (self.pos[0], self.pos[1] + r)
28+
self.turt.pendown()
29+
self.turt.forward(r)
30+
31+
def reset(self):
32+
self.turt.penup()
33+
self.turt.setpos(self.pos)
34+
35+
36+
def setupFile(name, colors):
37+
file = open(name, 'w')
38+
for color in colors:
39+
file.write(color + ' 0 \n')
40+
file.close()
41+
42+
43+
def startGame():
44+
tList = []
45+
turtle.clearscreen()
46+
turtle.hideturtle()
47+
colors = ["red", "green", "blue", 'yellow', 'pink', 'orange', 'purple', 'black', 'grey']
48+
start = -(win_length/2) + 20
49+
for t in range(turtles):
50+
newPosX = start + t*(win_length)//turtles
51+
tList.append(racer(colors[t],(newPosX, -230)))
52+
tList[t].turt.showturtle()
53+
54+
run = True
55+
while run:
56+
for t in tList:
57+
t.move()
58+
59+
maxColor = []
60+
maxDis = 0
61+
for t in tList:
62+
if t.pos[1] > 230 and t.pos[1] > maxDis:
63+
maxDis = t.pos[1]
64+
maxColor = []
65+
maxColor.append(t.color)
66+
elif t.pos[1] > 230 and t.pos[1] == maxDis:
67+
maxDis = t.pos[1]
68+
maxColor.append(t.color)
69+
70+
if len(maxColor) > 0:
71+
run = False
72+
print('The winner is: ')
73+
for win in maxColor:
74+
print(win)
75+
76+
oldScore = []
77+
file = open('scores.txt', 'r')
78+
for line in file:
79+
l = line.split()
80+
color = l[0]
81+
score = l[1]
82+
oldScore.append([color, score])
83+
84+
file.close()
85+
86+
file = open('scores.txt', 'w')
87+
88+
for entry in oldScore:
89+
for winner in maxColor:
90+
if entry[0] == winner:
91+
entry[1] = int(entry[1]) + 1
92+
93+
file.write(str(entry[0]) + ' ' + str(entry[1]) + '\n')
94+
95+
96+
file.close()
97+
98+
99+
start = input('Would you like to play, type "yes" or "no": ').lower()
100+
if start == "yes":
101+
print('----------GAME IN PROGRESS--------')
102+
startGame()
103+
else:
104+
quit()
105+
106+
while True:
107+
print('-----------------------------------')
108+
start = input('Would you like to play again, type "yes" or "no": ').lower()
109+
if start == "yes":
110+
print('----------GAME IN PROGRESS--------')
111+
startGame()
112+
else:
113+
print('----------THANK YOU FOR PLAYING--------')
114+
quit()

Turtle-Race-Game/scores.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)