Updated resolution and maps
This commit is contained in:
parent
52657d05aa
commit
ccb65092fc
@ -1,7 +1,7 @@
|
|||||||
[NEAT]
|
[NEAT]
|
||||||
fitness_criterion = max
|
fitness_criterion = max
|
||||||
fitness_threshold = 100000000
|
fitness_threshold = 100000000
|
||||||
pop_size = 80
|
pop_size = 30
|
||||||
reset_on_extinction = True
|
reset_on_extinction = True
|
||||||
|
|
||||||
[DefaultGenome]
|
[DefaultGenome]
|
||||||
|
|||||||
BIN
map.png
BIN
map.png
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 86 KiB |
BIN
map_easy.png
BIN
map_easy.png
Binary file not shown.
|
Before Width: | Height: | Size: 93 KiB |
@ -10,11 +10,14 @@ import neat
|
|||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
# Constants
|
# Constants
|
||||||
WIDTH = 1600
|
# WIDTH = 1600
|
||||||
HEIGHT = 880
|
# HEIGHT = 880
|
||||||
|
|
||||||
CAR_SIZE_X = 30
|
WIDTH = 1920
|
||||||
CAR_SIZE_Y = 30
|
HEIGHT = 1080
|
||||||
|
|
||||||
|
CAR_SIZE_X = 60
|
||||||
|
CAR_SIZE_Y = 60
|
||||||
|
|
||||||
BORDER_COLOR = (255, 255, 255, 255) # Color To Crash on Hit
|
BORDER_COLOR = (255, 255, 255, 255) # Color To Crash on Hit
|
||||||
|
|
||||||
@ -28,7 +31,8 @@ class Car:
|
|||||||
self.sprite = pygame.transform.scale(self.sprite, (CAR_SIZE_X, CAR_SIZE_Y))
|
self.sprite = pygame.transform.scale(self.sprite, (CAR_SIZE_X, CAR_SIZE_Y))
|
||||||
self.rotated_sprite = self.sprite
|
self.rotated_sprite = self.sprite
|
||||||
|
|
||||||
self.position = [690, 740] # Starting Position
|
# self.position = [690, 740] # Starting Position
|
||||||
|
self.position = [830, 920] # Starting Position
|
||||||
self.angle = 0
|
self.angle = 0
|
||||||
self.speed = 0
|
self.speed = 0
|
||||||
|
|
||||||
@ -46,7 +50,7 @@ class Car:
|
|||||||
|
|
||||||
def draw(self, screen):
|
def draw(self, screen):
|
||||||
screen.blit(self.rotated_sprite, self.position) # Draw Sprite
|
screen.blit(self.rotated_sprite, self.position) # Draw Sprite
|
||||||
# self.draw_radar(screen) OPTIONAL FOR SENSORS
|
self.draw_radar(screen) #OPTIONAL FOR SENSORS
|
||||||
|
|
||||||
def draw_radar(self, screen):
|
def draw_radar(self, screen):
|
||||||
# Optionally Draw All Sensors / Radars
|
# Optionally Draw All Sensors / Radars
|
||||||
@ -83,7 +87,7 @@ class Car:
|
|||||||
# Set The Speed To 20 For The First Time
|
# Set The Speed To 20 For The First Time
|
||||||
# Only When Having 4 Output Nodes With Speed Up and Down
|
# Only When Having 4 Output Nodes With Speed Up and Down
|
||||||
if not self.speed_set:
|
if not self.speed_set:
|
||||||
self.speed = 10
|
self.speed = 20
|
||||||
self.speed_set = True
|
self.speed_set = True
|
||||||
|
|
||||||
# Get Rotated Sprite And Move Into The Right X-Direction
|
# Get Rotated Sprite And Move Into The Right X-Direction
|
||||||
@ -158,7 +162,7 @@ def run_simulation(genomes, config):
|
|||||||
|
|
||||||
# Initialize PyGame And The Display
|
# Initialize PyGame And The Display
|
||||||
pygame.init()
|
pygame.init()
|
||||||
screen = pygame.display.set_mode((WIDTH, HEIGHT))
|
screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
|
||||||
|
|
||||||
# For All Genomes Passed Create A New Neural Network
|
# For All Genomes Passed Create A New Neural Network
|
||||||
for i, g in genomes:
|
for i, g in genomes:
|
||||||
@ -214,7 +218,7 @@ def run_simulation(genomes, config):
|
|||||||
break
|
break
|
||||||
|
|
||||||
counter += 1
|
counter += 1
|
||||||
if counter == 30 * 20: # Stop After About 20 Seconds
|
if counter == 30 * 40: # Stop After About 20 Seconds
|
||||||
break
|
break
|
||||||
|
|
||||||
# Draw Map And All Cars That Are Alive
|
# Draw Map And All Cars That Are Alive
|
||||||
@ -226,12 +230,12 @@ def run_simulation(genomes, config):
|
|||||||
# Display Info
|
# Display Info
|
||||||
text = generation_font.render("Generation: " + str(current_generation), True, (0,0,0))
|
text = generation_font.render("Generation: " + str(current_generation), True, (0,0,0))
|
||||||
text_rect = text.get_rect()
|
text_rect = text.get_rect()
|
||||||
text_rect.center = (100, 100)
|
text_rect.center = (900, 450)
|
||||||
screen.blit(text, text_rect)
|
screen.blit(text, text_rect)
|
||||||
|
|
||||||
text = alive_font.render("Still Alive: " + str(still_alive), True, (0, 0, 0))
|
text = alive_font.render("Still Alive: " + str(still_alive), True, (0, 0, 0))
|
||||||
text_rect = text.get_rect()
|
text_rect = text.get_rect()
|
||||||
text_rect.center = (100, 150)
|
text_rect.center = (900, 490)
|
||||||
screen.blit(text, text_rect)
|
screen.blit(text, text_rect)
|
||||||
|
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
Loading…
x
Reference in New Issue
Block a user