working again

This commit is contained in:
2019-10-31 15:18:28 +01:00
parent f9001ed8b3
commit 928333c733
3 changed files with 8 additions and 9 deletions

5
car.py
View File

@@ -69,7 +69,7 @@ class Car(pygame.sprite.Sprite):
75 - int(random.random() * 20) - 10, 75 - int(random.random() * 20) - 10,
GY - 50 - int(random.random() * 20) - 10, GY - 50 - int(random.random() * 20) - 10,
) )
self.speed = 10 self.speed = 1
self.heading = random.random() * 20 self.heading = random.random() * 20
self.heading_change = random.random() * 30 self.heading_change = random.random() * 30
@@ -170,10 +170,9 @@ class Car(pygame.sprite.Sprite):
self.heading += self.heading_change * CAR_STEERING_FACTOR / self.speed self.heading += self.heading_change * CAR_STEERING_FACTOR / self.speed
self.heading = self.heading % 360 self.heading = self.heading % 360
self.speed += self.throttle # * THROTTLE_POWER self.speed += self.throttle * THROTTLE_POWER
self.speed = max(0, self.speed) self.speed = max(0, self.speed)
self.speed = min(self.speed, CAR_MAX_SPEED) self.speed = min(self.speed, CAR_MAX_SPEED)
print("speed", self.speed)
super().update() super().update()

View File

@@ -93,9 +93,9 @@ def run_round(all_cars):
for b in new_brains: for b in new_brains:
all_cars.add(Car(brain=b)) all_cars.add(Car(brain=b))
print("Waiting before new run") print("Waiting before new run")
for x in range(1): # for x in range(1):
time.sleep(0.25) # time.sleep(0.25)
pygame.display.flip() pygame.display.flip()
while True: while True:

View File

@@ -10,15 +10,15 @@ CELL_COLOR = (80, 80, 80)
CAR_SIZE = 20 CAR_SIZE = 20
CAR_MAX_SPEED = 100 CAR_MAX_SPEED = 100
CAR_MAX_FITNESS = 100 CAR_MAX_FITNESS = 100
CAR_STEERING_FACTOR = 10 CAR_STEERING_FACTOR = 300
MAX_RUN_TIME = 120 MAX_RUN_TIME = 120
VISION_LENGTH = 75 VISION_LENGTH = 75
VISION_SPAN = 35 # degrees VISION_SPAN = 35 # degrees
THROTTLE_POWER = 3 THROTTLE_POWER = 5
MUTATION_RATE = 0.01 MUTATION_RATE = 0.01
SELECTION_ALG = "kway" # roulette SELECTION_ALG = "kway" # roulette
KWAY_TOURNAMENT_PLAYERS = 10 KWAY_TOURNAMENT_PLAYERS = 5
pygame.init() pygame.init()
screen = pygame.display.set_mode((GX, GY), FLAGS) screen = pygame.display.set_mode((GX, GY), FLAGS)