little tweaks, TBC
This commit is contained in:
14
main.py
14
main.py
@@ -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()
|
||||||
|
if c.run :
|
||||||
c.probe_lines_proximity(map_lines)
|
c.probe_lines_proximity(map_lines)
|
||||||
c.probe_brain()
|
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])
|
||||||
|
|||||||
Reference in New Issue
Block a user