genetics code (untested)
This commit is contained in:
8
car.py
8
car.py
@@ -2,7 +2,7 @@ import numpy as np
|
||||
import pygame
|
||||
|
||||
from brain import Neural_Network
|
||||
from params import GY, CAR_SIZE, VISION_LENGTH, VISION_SPAN, THROTTLE_POWER, screen
|
||||
from params import GY, CAR_MAX_SPEED, CAR_SIZE, CAR_STEERING_FACTOR, VISION_LENGTH, VISION_SPAN, THROTTLE_POWER, screen
|
||||
from trigo import angle_to_vector, get_line_feats, segments_intersection, distance
|
||||
|
||||
IMG = pygame.image.load("car20.png")#.convert()
|
||||
@@ -65,6 +65,7 @@ class Car(pygame.sprite.Sprite):
|
||||
old_center = self.rect.center
|
||||
self.rect.center = (self.speed * vec[0] / 2 + old_center[0], -self.speed * vec[1] / 2 + old_center[1])
|
||||
self.update_sensors()
|
||||
self.brain.fitness += int(distance(old_center, self.rect.center))
|
||||
|
||||
|
||||
|
||||
@@ -81,6 +82,7 @@ class Car(pygame.sprite.Sprite):
|
||||
self.probes[idx] = min(dist, self.probes[idx])
|
||||
if dist < 1.2 * self.speed or self.speed < 0.01 :
|
||||
self.run = False
|
||||
self.speed = 0
|
||||
print(f'Car {id(self)} crashed')
|
||||
|
||||
# else :
|
||||
@@ -113,7 +115,7 @@ class Car(pygame.sprite.Sprite):
|
||||
)
|
||||
|
||||
if self.speed :
|
||||
self.heading += self.heading_change * 10 / self.speed
|
||||
self.heading += self.heading_change * CAR_STEERING_FACTOR / self.speed
|
||||
self.heading = self.heading % 360
|
||||
|
||||
self.speed += self.throttle #THROTTLE_POWER
|
||||
@@ -123,7 +125,7 @@ class Car(pygame.sprite.Sprite):
|
||||
# self.speed -= self.throttle #THROTTLE_POWER
|
||||
|
||||
self.speed = max(0, self.speed)
|
||||
self.speed = min(self.speed, 7)
|
||||
self.speed = min(self.speed, CAR_MAX_SPEED)
|
||||
|
||||
super().update()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user