diff --git a/game.py b/game.py index 30a5d54..aa6c4d8 100644 --- a/game.py +++ b/game.py @@ -79,32 +79,28 @@ class Window: if self.sector != prev_sector: if (self.last_sector == 1 and self.sector == 3) or (self.last_sector == 2 and self.sector == 1): self.lapTimeValid = False - print('Now in sector ', self.sector, ' Last sector was', self.last_sector) if self.sector == 1 and self.last_sector == 3 and self.startTime != None and prev_sector != self.sector: self.sectorEnd = time.time() - self.lapTime = round(self.sectorEnd - self.startTime, 3) - self.fastestLap = self.lapTime if (self.lapTime <= self.fastestLap or self.fastestLap == 0) and self.lapTimeValid else self.fastestLap - self.fastest_sector_times = {i: self.sector_times[i] for i in range(1, 4)} if (self.lapTime <= self.fastestLap or self.fastestLap == 0) and self.lapTimeValid else self.fastest_sector_times self.startTime = self.sectorEnd self.sector_times[self.last_sector] = round(self.sectorEnd - self.sectorStart, 3) - print(f"Sector {self.last_sector}: {self.sector_times[self.last_sector]}") - valid = "" if self.lapTimeValid else "( Invalid )" + self.sectorStart = self.sectorEnd + self.lapTime = round(sum(self.sector_times[i] for i in range(1, 4)), 3) + fastest: bool = (self.lapTime <= self.fastestLap or self.fastestLap == 0) and self.lapTimeValid + self.fastestLap = self.lapTime if fastest else self.fastestLap + self.fastest_sector_times = {i: self.sector_times[i] for i in range(1, 4)} if fastest else self.fastest_sector_times self.lapTimeValid = True - print(f"Lap Time: {self.lapTime} {valid}") if self.sector == 2 and self.last_sector == 1 and prev_sector != self.sector: self.sectorEnd = time.time() self.sector_times[self.last_sector] = round(self.sectorEnd - self.sectorStart, 3) self.sectorStart = self.sectorEnd - print(f"Sector {self.last_sector}: {self.sector_times[self.last_sector]}") - + if self.sector == 3 and self.last_sector == 2 and prev_sector != self.sector: self.sectorEnd = time.time() self.sector_times[self.last_sector] = round(self.sectorEnd - self.sectorStart, 3) self.sectorStart = self.sectorEnd - print(f"Sector {self.last_sector}: {self.sector_times[self.last_sector]}") - + if self.sector == 1 and self.last_sector == 3 and self.startTime == None: self.startTime = time.time() self.sectorStart = self.startTime @@ -115,16 +111,23 @@ class Window: self.track.draw(self.screen) self.car.draw(self.screen) - text = self.font.render(f"Fastest Lap: {self.fastestLap:.3f}", True, colors.Green, colors.Black) - self.screen.blit(text, text.get_rect()) for i in range(1, len(self.sector_times) + 1): faster = self.sector_times[i] <= self.fastest_sector_times[i] color = colors.Green if faster else colors.Yellow diff = f"{'-' if faster else '+'}{abs(self.fastest_sector_times[i]-self.sector_times[i]):.3f}" - text = self.font.render(f"Sector {i}: {self.sector_times[i]:.3f} | {diff}", True, color, colors.Black) + text = self.font.render(f"S{i}: {self.sector_times[i]:.3f} | {diff} | Fastest S{i}: {self.fastest_sector_times[i]:.3f}", True, color, colors.Black) textRect = text.get_rect() - textRect.center = (textRect.center[0], textRect.center[1] + i * 24) + textRect.center = (textRect.center[0], textRect.center[1] + (i-1) * 24) self.screen.blit(text, textRect) + text = self.font.render(f"Fastest Lap: {self.fastestLap:.3f}", True, colors.Green, colors.Black) + rect = text.get_rect() + rect.center = (rect.center[0], rect.center[1] + 72) + self.screen.blit(text, rect) + color = colors.Green if self.lapTimeValid else colors.Yellow + text = self.font.render(f'Current Lap: {"Valid" if self.lapTimeValid else "Invalid"}', True, color, colors.Black) + rect = text.get_rect() + rect.center = (rect.center[0], rect.center[1] + 96) + self.screen.blit(text, rect) pygame.display.flip() self.clock.tick(60)