params look ok
This commit is contained in:
24
main.py
24
main.py
@@ -31,7 +31,7 @@ class Car(pygame.sprite.Sprite):
|
||||
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.center = (75, GY -50)
|
||||
self.speed = 1.5
|
||||
self.speed = 1
|
||||
self.heading = 0
|
||||
self.heading_change = 0
|
||||
self.vision_length = VISION_LENGTH # line liength
|
||||
@@ -57,6 +57,7 @@ class Car(pygame.sprite.Sprite):
|
||||
self.probe_brain()
|
||||
self.run = True
|
||||
|
||||
|
||||
def update_sensors(self):
|
||||
center = self.rect.center
|
||||
vc = angle_to_vector(self.heading)
|
||||
@@ -88,7 +89,7 @@ class Car(pygame.sprite.Sprite):
|
||||
pygame.draw.circle(screen, (125,125,255), ip, 4, 2)
|
||||
dist = int(distance(ip,self.rect.center))
|
||||
self.probes[idx] = min(dist, self.probes[idx])
|
||||
if dist < 2 * self.speed or not self.speed :
|
||||
if dist < 1.2 * self.speed or self.speed < 0.01 :
|
||||
self.run = False
|
||||
print(f'Car {id(self)} crashed')
|
||||
|
||||
@@ -110,7 +111,11 @@ class Car(pygame.sprite.Sprite):
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.center = old_center
|
||||
self.update_position()
|
||||
if self.speed < 0.01 :
|
||||
self.run = False
|
||||
print(f'Car {id(self)} crashed')
|
||||
print(
|
||||
'id', id(self),
|
||||
'Speed', self.speed,
|
||||
'heading', self.heading,
|
||||
'throttle', self.throttle,
|
||||
@@ -118,7 +123,7 @@ class Car(pygame.sprite.Sprite):
|
||||
)
|
||||
|
||||
if self.speed :
|
||||
self.heading += self.heading_change * 6 / self.speed
|
||||
self.heading += self.heading_change * 20 / self.speed
|
||||
self.heading = self.heading % 360
|
||||
|
||||
self.speed += self.throttle #THROTTLE_POWER
|
||||
@@ -142,7 +147,7 @@ class Car(pygame.sprite.Sprite):
|
||||
|
||||
|
||||
|
||||
|
||||
#https://medium.com/intel-student-ambassadors/demystifying-genetic-algorithms-to-enhance-neural-networks-cde902384b6e
|
||||
|
||||
|
||||
screen = pygame.display.set_mode((GX, GY), FLAGS)
|
||||
@@ -161,12 +166,15 @@ for x in range(10):
|
||||
all_cars.add(car)
|
||||
|
||||
clock = pygame.time.Clock()
|
||||
while True :
|
||||
running_cars = True
|
||||
while running_cars :
|
||||
running_cars = False
|
||||
screen.fill(CELL_COLOR)
|
||||
all_cars.draw(screen)
|
||||
for c in all_cars :
|
||||
c.show_features()
|
||||
if c.run :
|
||||
running_cars = True
|
||||
c.probe_lines_proximity(map_lines)
|
||||
c.probe_brain()
|
||||
c.update()
|
||||
@@ -179,4 +187,8 @@ while True :
|
||||
# pygame.draw.circle(screen, (125,255,125), point, 4, 2)
|
||||
|
||||
pygame.display.flip()
|
||||
clock.tick(1)
|
||||
clock.tick(24)
|
||||
|
||||
while True :
|
||||
pygame.display.flip()
|
||||
clock.tick(24)
|
||||
|
||||
Reference in New Issue
Block a user