@@ -10,7 +10,7 @@ import (
func main() {
rc := &remotecontrol.RemoteControl{}
go rc.Run()
- s := snakesimulator.NewSnakeSimulator(300)
+ s := snakesimulator.NewSnakeSimulator(400)
s.StartServer()
p := genetic.NewPopulation(s, mutagen.NewDummyMutagen(1.0, 1), genetic.PopulationConfig{PopulationSize: 2000, SelectionSize: 0.01, CrossbreedPart: 0.5}, []int{24, 18, 18, 4})
for _, net := range p.Networks {
@@ -223,17 +223,17 @@ func (s *SnakeSimulator) getHeadState() []float64 {
// Check if food is on same vertical line with head and
// choose vertical direction for activation
if headX == foodX {
- if headY-foodY < 0 {
- bFood = 0
- } else {
+ if headY-foodY > 0 {
tFood = 0
+ } else {
+ bFood = 0
}
// Check if food is on same horizontal line with head and
// choose horizontal direction for activation
if headY == foodY {
- if foodX-headX < 0 {
+ if headX-foodX > 0 {
lFood = 0
} else {
rFood = 0
@@ -261,20 +261,20 @@ func (s *SnakeSimulator) getHeadState() []float64 {
// Check if tail is on same vertical line with head and
if headX == tailX {
- if headY-tailY < 0 {
- bTail = height
+ if headY-tailY > 0 {
+ tTail = headY - tailY
- tTail = height
+ bTail = headY - tailY
// Check if tail is on same horizontal line with head and
if headY == tailY {
- if headX-tailX < 0 {
- rTail = width
+ if headX-tailX > 0 {
+ rTail = headX - tailX
- lTail = width
+ lTail = headX - tailX