|
@@ -63,7 +63,9 @@ func (s *SnakeSimulator) Verify(population *genetic.Population) (fitnesses []*ge
|
|
s.statsUpdateQueue <- true
|
|
s.statsUpdateQueue <- true
|
|
|
|
|
|
s.field.GenerateNextFood()
|
|
s.field.GenerateNextFood()
|
|
- s.fieldUpdateQueue <- true
|
|
|
|
|
|
+ if s.speed > 0 {
|
|
|
|
+ s.fieldUpdateQueue <- true
|
|
|
|
+ }
|
|
|
|
|
|
fitnesses = make([]*genetic.IndividalFitness, len(population.Networks))
|
|
fitnesses = make([]*genetic.IndividalFitness, len(population.Networks))
|
|
for index, inidividual := range population.Networks {
|
|
for index, inidividual := range population.Networks {
|
|
@@ -84,6 +86,8 @@ func (s *SnakeSimulator) Verify(population *genetic.Population) (fitnesses []*ge
|
|
})
|
|
})
|
|
|
|
|
|
//Best snake showtime!
|
|
//Best snake showtime!
|
|
|
|
+ s.field.GenerateNextFood()
|
|
|
|
+ s.fieldUpdateQueue <- true
|
|
prevSpeed := s.speed
|
|
prevSpeed := s.speed
|
|
s.speed = 5
|
|
s.speed = 5
|
|
s.runSnake(population.Networks[fitnesses[0].Index], false)
|
|
s.runSnake(population.Networks[fitnesses[0].Index], false)
|
|
@@ -132,7 +136,9 @@ func (s *SnakeSimulator) runSnake(inidividual *neuralnetwork.NeuralNetwork, rand
|
|
i = 0
|
|
i = 0
|
|
s.snake.Feed(newHead)
|
|
s.snake.Feed(newHead)
|
|
s.field.GenerateNextFood()
|
|
s.field.GenerateNextFood()
|
|
- s.fieldUpdateQueue <- true
|
|
|
|
|
|
+ if s.speed > 0 {
|
|
|
|
+ s.fieldUpdateQueue <- true
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
s.snake.Move(newHead)
|
|
s.snake.Move(newHead)
|
|
}
|
|
}
|