Skip to content

Instantly share code, notes, and snippets.

@taddeimania
Created June 4, 2015 13:11
Show Gist options
  • Save taddeimania/02ae53032d91c2eb065b to your computer and use it in GitHub Desktop.
Save taddeimania/02ae53032d91c2eb065b to your computer and use it in GitHub Desktop.
bike_race_oop
import random
class Bike:
speed = 0
moving = False
location = 0
top_speed = 14
name = ""
def __init__(self, name="Unknown Racer", top_speed=14):
self.name = name
self.top_speed = top_speed
def __str__(self):
return "{} - {} - {}".format(self.name, self.location, self.speed)
def accelerate(self):
if self.speed < self.top_speed:
self.speed += 1
def start(self):
self.moving = True
self.accelerate()
def stop(self):
pass
def update(self):
if random.random() >= .5:
self.accelerate()
self.location += self.speed * random.random()
class Race:
start = 0
finish = 100
active = False
winner = ""
def __init__(self, racers, finish=100):
self.racers = racers
self.finish = finish
def start(self):
self.active = True
for racer in self.racers:
racer.start()
racer.update()
def begin_race(self):
self.start()
while self.active:
for racer in self.racers:
if racer.location >= self.finish:
self.winner = racer
self.stop()
break
racer.update()
def stop(self):
self.active = False
print("STOP THE RACE! {} WON!!!!".format(self.winner.name))
for racer in self.racers:
print(racer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment