Working
This commit is contained in:
102
main.py
102
main.py
@ -87,8 +87,38 @@ class Game():
|
|||||||
def roll_laps(self):
|
def roll_laps(self):
|
||||||
self.laps = roll(-2)
|
self.laps = roll(-2)
|
||||||
|
|
||||||
|
def get_obstacle_index(self):
|
||||||
|
return self.round % len(self.track.obstacles)
|
||||||
|
|
||||||
|
def get_obstacle(self):
|
||||||
|
return self.track.obstacles[self.get_obstacle_index()]
|
||||||
|
|
||||||
|
def is_new_lap(self):
|
||||||
|
return True if self.get_obstacle_index() == 0 and self.round != 0 else False
|
||||||
|
|
||||||
def play_round(self):
|
def play_round(self):
|
||||||
|
if self.is_new_lap():
|
||||||
|
self.current_lap += 1
|
||||||
|
|
||||||
|
if self.current_lap > self.laps:
|
||||||
|
print("It's over!")
|
||||||
|
print("")
|
||||||
|
print("\tSUMMARY:")
|
||||||
|
if self.leader:
|
||||||
|
print(f"\t\tWINNER: {self.leader.name} by +{self.lead}")
|
||||||
|
else:
|
||||||
|
print(f"\t\tWINNER: A DRAW!")
|
||||||
|
print(f"--- {self.p1.name} ---")
|
||||||
|
print(f"SP: {self.p1.SP}")
|
||||||
|
|
||||||
|
print("")
|
||||||
|
print(f"--- {self.p2.name} ---")
|
||||||
|
print(f"SP: {self.p2.SP} ---")
|
||||||
|
|
||||||
|
else:
|
||||||
|
print("========================================================")
|
||||||
print(f"Round {self.round} | Lap {self.current_lap}/{self.laps}")
|
print(f"Round {self.round} | Lap {self.current_lap}/{self.laps}")
|
||||||
|
print("--------------------------------------------------------")
|
||||||
if self.round == 0:
|
if self.round == 0:
|
||||||
p1_roll = self.p1.roll(Stats.SPD)
|
p1_roll = self.p1.roll(Stats.SPD)
|
||||||
p2_roll = self.p2.roll(Stats.SPD)
|
p2_roll = self.p2.roll(Stats.SPD)
|
||||||
@ -97,23 +127,77 @@ class Game():
|
|||||||
print(f"{self.p1.name} gets a good start and takes the lead")
|
print(f"{self.p1.name} gets a good start and takes the lead")
|
||||||
self.p1.SP += 1
|
self.p1.SP += 1
|
||||||
self.leader = self.p1
|
self.leader = self.p1
|
||||||
self.lead += 1
|
self.lead = 1
|
||||||
elif p2_roll > p1_roll:
|
elif p2_roll > p1_roll:
|
||||||
print(f"{self.p2.name} gets a good start and takes the lead")
|
print(f"{self.p2.name} gets a good start and takes the lead")
|
||||||
self.p2.SP += 1
|
self.p2.SP += 1
|
||||||
self.leader = self.p2
|
self.leader = self.p2
|
||||||
self.lead += 1
|
self.lead = 1
|
||||||
else:
|
else:
|
||||||
print("Both drivers get a good start and they're neck and neck")
|
print("Both drivers get a good start and they're neck and neck")
|
||||||
else:
|
else:
|
||||||
obstacle_index = self.round % len(self.track.obstacles)
|
obstacle = self.get_obstacle()
|
||||||
if obstacle_index == 0 and self.round != 0:
|
|
||||||
self.current_lap += 1
|
|
||||||
if self.current_lap == self.laps:
|
|
||||||
print("its over")
|
|
||||||
obstacle = self.track.obstacles[obstacle_index]
|
|
||||||
print(obstacle.name)
|
print(obstacle.name)
|
||||||
sleep(1)
|
obstacle_roll = roll(4)
|
||||||
|
p1_roll = self.p1.roll(obstacle.stat, obstacle.skill)
|
||||||
|
p2_roll = self.p2.roll(obstacle.stat, obstacle.skill)
|
||||||
|
print(f"{self.p1.name} vs {obstacle.name}")
|
||||||
|
print(f"{p1_roll} vs {obstacle_roll}")
|
||||||
|
if p1_roll > obstacle_roll:
|
||||||
|
self.p1.SP += 1
|
||||||
|
print(f"> {self.p1.name} gains 1 SP for a total of {self.p1.SP}!")
|
||||||
|
if self.leader == self.p1:
|
||||||
|
self.lead += 1
|
||||||
|
print(f"> {self.p1.name}'s lead extends to +{self.lead}")
|
||||||
|
elif self.leader == None:
|
||||||
|
self.leader = self.p1
|
||||||
|
self.lead = 1
|
||||||
|
print(f"> {self.p1.name} takes the lead")
|
||||||
|
elif self.leader == self.p2:
|
||||||
|
self.lead -= 1
|
||||||
|
if self.lead == 0:
|
||||||
|
self.leader = None
|
||||||
|
print(f"> {self.p1.name} negates {self.p2.name}'s lead. It's neck and neck.")
|
||||||
|
else:
|
||||||
|
print(f"> {self.p1.name} reduces {self.p2.name}'s lead to +{self.lead}.")
|
||||||
|
else:
|
||||||
|
if self.leader == self.p1 and p2_roll > p1_roll:
|
||||||
|
self.lead -= 1
|
||||||
|
if self.lead > 0:
|
||||||
|
print(f"> {self.p1.name}'s lead drops to +{self.lead}")
|
||||||
|
else:
|
||||||
|
self.leader = None
|
||||||
|
print(f"> {self.p1.name} loses their lead")
|
||||||
|
|
||||||
|
print(f"{self.p2.name} vs {obstacle.name}")
|
||||||
|
print(f"{p2_roll} vs {obstacle_roll}")
|
||||||
|
if p2_roll > obstacle_roll:
|
||||||
|
self.p2.SP += 1
|
||||||
|
print(f"> {self.p2.name} gain 1 SP for a total of {self.p2.SP}!")
|
||||||
|
if self.leader == self.p2:
|
||||||
|
self.lead += 1
|
||||||
|
print(f"> {self.p2.name}'s lead extends to +{self.lead}")
|
||||||
|
elif self.leader == None:
|
||||||
|
self.leader = self.p2
|
||||||
|
self.lead = 1
|
||||||
|
print(f"> {self.p2.name} takes the lead")
|
||||||
|
elif self.leader == self.p1:
|
||||||
|
self.lead -= 1
|
||||||
|
if self.lead == 0:
|
||||||
|
self.leader = None
|
||||||
|
print(f"> {self.p2.name} negates {self.p1.name}'s lead. It's neck and neck.")
|
||||||
|
else:
|
||||||
|
print(f"> {self.p2.name} reduces {self.p1.name}'s lead to +{self.lead}.")
|
||||||
|
else:
|
||||||
|
if self.leader == self.p2 and p1_roll > p2_roll:
|
||||||
|
self.lead -= 1
|
||||||
|
if self.lead > 0:
|
||||||
|
print(f"> {self.p2.name}'s lead drops to +{self.lead}")
|
||||||
|
else:
|
||||||
|
self.leader = None
|
||||||
|
print(f"> {self.p2.name} loses their lead")
|
||||||
|
|
||||||
|
sleep(5)
|
||||||
self.round += 1
|
self.round += 1
|
||||||
self.play_round()
|
self.play_round()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user