little tweaks, TBC

This commit is contained in:
2019-10-21 15:27:22 +02:00
parent c31a338957
commit 19f696b830

18
main.py
View File

@@ -31,7 +31,7 @@ class Car(pygame.sprite.Sprite):
self.rect = self.image.get_rect() self.rect = self.image.get_rect()
self.rect.center = (75, GY -50) self.rect.center = (75, GY -50)
self.speed = 0.5 self.speed = 1.5
self.heading = 0 self.heading = 0
self.heading_change = 0 self.heading_change = 0
self.vision_length = VISION_LENGTH # line liength self.vision_length = VISION_LENGTH # line liength
@@ -55,6 +55,7 @@ class Car(pygame.sprite.Sprite):
self.update_sensors() self.update_sensors()
self.probe_brain() self.probe_brain()
self.run = True
def update_sensors(self): def update_sensors(self):
center = self.rect.center center = self.rect.center
@@ -87,6 +88,10 @@ class Car(pygame.sprite.Sprite):
pygame.draw.circle(screen, (125,125,255), ip, 4, 2) pygame.draw.circle(screen, (125,125,255), ip, 4, 2)
dist = int(distance(ip,self.rect.center)) dist = int(distance(ip,self.rect.center))
self.probes[idx] = min(dist, self.probes[idx]) self.probes[idx] = min(dist, self.probes[idx])
if dist < 2 * self.speed or not self.speed :
self.run = False
print(f'Car {id(self)} crashed')
# else : # else :
# self.probes[idx] = self.vision_length * 2 # self.probes[idx] = self.vision_length * 2
# print(self.probes) # print(self.probes)
@@ -113,7 +118,7 @@ class Car(pygame.sprite.Sprite):
) )
if self.speed : if self.speed :
self.heading += self.heading_change * 10 / self.speed self.heading += self.heading_change * 6 / self.speed
self.heading = self.heading % 360 self.heading = self.heading % 360
self.speed += self.throttle #THROTTLE_POWER self.speed += self.throttle #THROTTLE_POWER
@@ -150,7 +155,7 @@ map_lines = map1
all_cars = pygame.sprite.Group() all_cars = pygame.sprite.Group()
for x in range(1): for x in range(10):
car = Car() car = Car()
car.heading = x * 30 + 35 car.heading = x * 30 + 35
all_cars.add(car) all_cars.add(car)
@@ -158,12 +163,13 @@ for x in range(1):
clock = pygame.time.Clock() clock = pygame.time.Clock()
while True : while True :
screen.fill(CELL_COLOR) screen.fill(CELL_COLOR)
all_cars.update()
all_cars.draw(screen) all_cars.draw(screen)
for c in all_cars : for c in all_cars :
c.show_features() c.show_features()
c.probe_lines_proximity(map_lines) if c.run :
c.probe_brain() c.probe_lines_proximity(map_lines)
c.probe_brain()
c.update()
for line in map_lines : for line in map_lines :
pygame.draw.line(screen, (255,255,255), line[0], line[1]) pygame.draw.line(screen, (255,255,255), line[0], line[1])