Explorar el Código

Improve GUI integration

Alexey Edelev hace 5 años
padre
commit
edb9a437dc
Se han modificado 2 ficheros con 9 adiciones y 3 borrados
  1. 1 1
      gui/qtprotobuf
  2. 8 2
      neuralnetwork/snakesimulator/snakesimulator.go

+ 1 - 1
gui/qtprotobuf

@@ -1 +1 @@
-Subproject commit 79f5272e3ef435ab2def99d126739099f377277e
+Subproject commit e0c89b7ece18445f56378d248e7f3e04b02879c9

+ 8 - 2
neuralnetwork/snakesimulator/snakesimulator.go

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