├── .gitpod.dockerfile ├── .gitpod.yml ├── README.md ├── main.py └── scores.txt /.gitpod.dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM gitpod/workspace-full-vnc 3 | 4 | USER root 5 | RUN apt-get update && apt-get install -y \ 6 | tk-dev \ 7 | python3-tk \ 8 | python-tk \ 9 | && apt-get clean && rm -rf /var/cache/apt/* && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/* -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | image: 2 | file: .gitpod.dockerfile 3 | ports: 4 | - port: 5900 5 | onOpen: ignore 6 | - port: 6080 7 | onOpen: open-preview 8 | tasks: 9 | - command: /usr/bin/python3 main.py -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Turtle-Race 2 | 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. 3 | 4 | # 💻 Launch Your Software Development Career Today! 5 | 6 | 🎓 **No degree? No problem!** My program equips you with everything you need to break into tech and land an entry-level software development role. 7 | 8 | 🚀 **Why Join?** 9 | - 💼 **$70k+ starting salary potential** 10 | - 🕐 **Self-paced:** Complete on your own time 11 | - 🤑 **Affordable:** Low risk compared to expensive bootcamps or degrees 12 | - 🎯 **45,000+ job openings** in the market 13 | 14 | 👉 **[Start your journey today!](https://techwithtim.net/dev)** 15 | No experience needed—just your determination. Future-proof your career and unlock six-figure potential like many of our students have! 16 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 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') 100 | startGame() 101 | 102 | while True: 103 | print('-----------------------------------') 104 | start = input('Would you like to play again') 105 | startGame() 106 | -------------------------------------------------------------------------------- /scores.txt: -------------------------------------------------------------------------------- 1 | red 0 2 | green 0 3 | blue 0 4 | yellow 0 5 | pink 0 6 | orange 0 7 | purple 0 8 | black 0 9 | grey 0 --------------------------------------------------------------------------------