comit before rollback
This commit is contained in:
26
car.py
26
car.py
@@ -49,7 +49,7 @@ class Car(pygame.sprite.Sprite):
|
||||
self.left_sensor = None
|
||||
self.right_sensor = None
|
||||
self.sensors = [self.left_sensor, self.center_sensor, self.right_sensor]
|
||||
self.probes = [self.vision_length] * 3
|
||||
self.probes = [1] * 3
|
||||
|
||||
if brain:
|
||||
self.brain = brain
|
||||
@@ -69,7 +69,7 @@ class Car(pygame.sprite.Sprite):
|
||||
75 - int(random.random() * 20) - 10,
|
||||
GY - 50 - int(random.random() * 20) - 10,
|
||||
)
|
||||
self.speed = 1
|
||||
self.speed = 10
|
||||
self.heading = random.random() * 20
|
||||
self.heading_change = random.random() * 30
|
||||
|
||||
@@ -116,7 +116,7 @@ class Car(pygame.sprite.Sprite):
|
||||
|
||||
def probe_lines_proximity(self, lines):
|
||||
# print(self.center_sensor, lines[0])
|
||||
self.probes = [self.vision_length * 2] * 3
|
||||
self.probes = [1] * 3
|
||||
for idx, sensor in enumerate(
|
||||
[self.left_sensor, self.center_sensor, self.right_sensor]
|
||||
):
|
||||
@@ -126,22 +126,20 @@ class Car(pygame.sprite.Sprite):
|
||||
if ip:
|
||||
if self.draw_sensors:
|
||||
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 < 1 * self.speed or self.speed < 0.01:
|
||||
dist = distance(ip, self.rect.center)
|
||||
self.probes[idx] = min(dist / self.vision_length, self.probes[idx])
|
||||
if dist < 5 * self.speed or self.speed < 1:
|
||||
self.run = False
|
||||
self.speed = 0
|
||||
# print(f'Car {id(self)} crashed')
|
||||
return
|
||||
|
||||
else:
|
||||
self.probes[idx] = self.vision_length * 1.1
|
||||
# print(self.probes)
|
||||
|
||||
def probe_brain(self):
|
||||
res = self.brain.predict(np.array(self.probes + [self.speed]))
|
||||
self.heading_change = res[0] * 30
|
||||
self.throttle = res[1] * 5
|
||||
self.heading_change = res[0]
|
||||
self.throttle = res[1]
|
||||
|
||||
def update(self):
|
||||
# rotate
|
||||
@@ -172,14 +170,10 @@ class Car(pygame.sprite.Sprite):
|
||||
self.heading += self.heading_change * CAR_STEERING_FACTOR / self.speed
|
||||
self.heading = self.heading % 360
|
||||
|
||||
self.speed += self.throttle # THROTTLE_POWER
|
||||
# if self.throttle :
|
||||
# self.speed += self.throttle #THROTTLE_POWER
|
||||
# else :
|
||||
# self.speed -= self.throttle #THROTTLE_POWER
|
||||
|
||||
self.speed += self.throttle # * THROTTLE_POWER
|
||||
self.speed = max(0, self.speed)
|
||||
self.speed = min(self.speed, CAR_MAX_SPEED)
|
||||
print("speed", self.speed)
|
||||
|
||||
super().update()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user