From d62807774bf58ef28efdb3c71b4e02eb0f5da592 Mon Sep 17 00:00:00 2001 From: bvanvugt <1531419+bvanvugt@users.noreply.github.com> Date: Tue, 19 Jan 2021 15:33:05 -0800 Subject: [PATCH] Invert the Y-Axis to match modern gameplay. --- cli/commands/play.go | 5 ----- constrictor_test.go | 6 +++--- royale_test.go | 2 +- squad_test.go | 2 +- standard.go | 8 ++++---- standard_test.go | 46 ++++++++++++++++++++++---------------------- 6 files changed, 32 insertions(+), 37 deletions(-) diff --git a/cli/commands/play.go b/cli/commands/play.go index 731b640..69e08ac 100644 --- a/cli/commands/play.go +++ b/cli/commands/play.go @@ -300,11 +300,6 @@ func getMoveForSnake(state *rules.BoardState, snake Battlesnake, outOfBounds []r log.Fatal(jsonErr) } else { move = playerResponse.Move - if snake.API == "1" && move == "up" { - move = "down" - } else if snake.API == "1" && move == "down" { - move = "up" - } } } } diff --git a/constrictor_test.go b/constrictor_test.go index b4e21fe..cbf0506 100644 --- a/constrictor_test.go +++ b/constrictor_test.go @@ -67,8 +67,8 @@ func TestConstrictorCreateNextBoardState(t *testing.T) { Food: []Point{}, }, []SnakeMove{ - {ID: "one", Move: MoveDown}, - {ID: "two", Move: MoveUp}, + {ID: "one", Move: MoveUp}, + {ID: "two", Move: MoveDown}, }, &BoardState{ Width: 3, @@ -103,7 +103,7 @@ func TestConstrictorCreateNextBoardState(t *testing.T) { Food: []Point{}, }, []SnakeMove{ - {ID: "one", Move: MoveDown}, + {ID: "one", Move: MoveUp}, }, &BoardState{ Width: 3, diff --git a/royale_test.go b/royale_test.go index e6d599b..0b971c7 100644 --- a/royale_test.go +++ b/royale_test.go @@ -203,7 +203,7 @@ func TestRoyalDamageNextTurn(t *testing.T) { b := &BoardState{Width: 10, Height: 10, Snakes: []Snake{{ID: "one", Health: 100, Body: []Point{{9, 1}}}}} r := RoyaleRuleset{Seed: seed, ShrinkEveryNTurns: 10, DamagePerTurn: 30} - m := []SnakeMove{{ID: "one", Move: "up"}} + m := []SnakeMove{{ID: "one", Move: "down"}} r.Turn = 10 n, err := r.CreateNextBoardState(b, m) diff --git a/squad_test.go b/squad_test.go index 551d56e..a6c7a31 100644 --- a/squad_test.go +++ b/squad_test.go @@ -359,7 +359,7 @@ func TestRegressionIssue16(t *testing.T) { "Zero Cool": "Hackers", } snakeMoves := []SnakeMove{ - {ID: "teamBoi", Move: "down"}, + {ID: "teamBoi", Move: "up"}, {ID: "Node-Red-Bellied-Black-Snake", Move: "left"}, {ID: "Crash Override", Move: "left"}, {ID: "Zero Cool", Move: "left"}, diff --git a/standard.go b/standard.go index d4ab0bd..14d1c43 100644 --- a/standard.go +++ b/standard.go @@ -261,7 +261,7 @@ func (r *StandardRuleset) moveSnakes(b *BoardState, moves []SnakeMove) error { switch move.Move { case MoveDown: newHead.X = snake.Body[0].X - newHead.Y = snake.Body[0].Y + 1 + newHead.Y = snake.Body[0].Y - 1 case MoveLeft: newHead.X = snake.Body[0].X - 1 newHead.Y = snake.Body[0].Y @@ -270,17 +270,17 @@ func (r *StandardRuleset) moveSnakes(b *BoardState, moves []SnakeMove) error { newHead.Y = snake.Body[0].Y case MoveUp: newHead.X = snake.Body[0].X - newHead.Y = snake.Body[0].Y - 1 + newHead.Y = snake.Body[0].Y + 1 default: // Default to UP var dX int32 = 0 - var dY int32 = -1 + var dY int32 = 1 // If neck is available, use neck to determine last direction if len(snake.Body) >= 2 { dX = snake.Body[0].X - snake.Body[1].X dY = snake.Body[0].Y - snake.Body[1].Y if dX == 0 && dY == 0 { - dY = -1 // Move up if no last move was made + dY = 1 // Move up if no last move was made } } // Apply diff --git a/standard_test.go b/standard_test.go index 178d9a6..1044a61 100644 --- a/standard_test.go +++ b/standard_test.go @@ -540,8 +540,8 @@ func TestCreateNextBoardState(t *testing.T) { Food: []Point{{0, 0}, {1, 0}}, }, []SnakeMove{ - {ID: "one", Move: MoveUp}, - {ID: "two", Move: MoveDown}, + {ID: "one", Move: MoveDown}, + {ID: "two", Move: MoveUp}, {ID: "three", Move: MoveLeft}, // Should be ignored }, nil, @@ -610,8 +610,8 @@ func TestEatingOnLastMove(t *testing.T) { Food: []Point{{0, 3}, {9, 9}}, }, []SnakeMove{ - {ID: "one", Move: MoveDown}, - {ID: "two", Move: MoveUp}, + {ID: "one", Move: MoveUp}, + {ID: "two", Move: MoveDown}, }, nil, &BoardState{ @@ -676,8 +676,8 @@ func TestHeadToHeadOnFood(t *testing.T) { Food: []Point{{0, 3}, {9, 9}}, }, []SnakeMove{ - {ID: "one", Move: MoveDown}, - {ID: "two", Move: MoveUp}, + {ID: "one", Move: MoveUp}, + {ID: "two", Move: MoveDown}, }, nil, &BoardState{ @@ -721,8 +721,8 @@ func TestHeadToHeadOnFood(t *testing.T) { Food: []Point{{0, 3}, {9, 9}}, }, []SnakeMove{ - {ID: "one", Move: MoveDown}, - {ID: "two", Move: MoveUp}, + {ID: "one", Move: MoveUp}, + {ID: "two", Move: MoveDown}, }, nil, &BoardState{ @@ -789,8 +789,8 @@ func TestRegressionIssue19(t *testing.T) { Food: []Point{{9, 9}}, }, []SnakeMove{ - {ID: "one", Move: MoveDown}, - {ID: "two", Move: MoveUp}, + {ID: "one", Move: MoveUp}, + {ID: "two", Move: MoveDown}, }, nil, &BoardState{ @@ -860,29 +860,29 @@ func TestMoveSnakes(t *testing.T) { ExpectedThree []Point }{ { - MoveUp, []Point{{10, 109}, {10, 110}}, - MoveDown, []Point{{23, 221}, {23, 220}, {22, 220}, {21, 220}}, - MoveUp, []Point{{0, 0}}, + MoveDown, []Point{{10, 109}, {10, 110}}, + MoveUp, []Point{{23, 221}, {23, 220}, {22, 220}, {21, 220}}, + MoveDown, []Point{{0, 0}}, }, { MoveRight, []Point{{11, 109}, {10, 109}}, MoveLeft, []Point{{22, 221}, {23, 221}, {23, 220}, {22, 220}}, - MoveUp, []Point{{0, 0}}, + MoveDown, []Point{{0, 0}}, }, { MoveRight, []Point{{12, 109}, {11, 109}}, MoveLeft, []Point{{21, 221}, {22, 221}, {23, 221}, {23, 220}}, - MoveUp, []Point{{0, 0}}, + MoveDown, []Point{{0, 0}}, }, { MoveRight, []Point{{13, 109}, {12, 109}}, MoveLeft, []Point{{20, 221}, {21, 221}, {22, 221}, {23, 221}}, - MoveUp, []Point{{0, 0}}, + MoveDown, []Point{{0, 0}}, }, { - MoveUp, []Point{{13, 108}, {13, 109}}, - MoveDown, []Point{{20, 222}, {20, 221}, {21, 221}, {22, 221}}, - MoveUp, []Point{{0, 0}}, + MoveDown, []Point{{13, 108}, {13, 109}}, + MoveUp, []Point{{20, 222}, {20, 221}, {21, 221}, {22, 221}}, + MoveDown, []Point{{0, 0}}, }, } @@ -979,11 +979,11 @@ func TestMoveSnakesExtraMovesIgnored(t *testing.T) { moves := []SnakeMove{ { ID: "one", - Move: MoveUp, + Move: MoveDown, }, { ID: "two", - Move: MoveUp, + Move: MoveLeft, }, } @@ -1027,12 +1027,12 @@ func TestMoveSnakesDefault(t *testing.T) { { Body: []Point{{0, 0}}, Move: "invalid", - Expected: []Point{{0, -1}}, + Expected: []Point{{0, 1}}, }, { Body: []Point{{5, 5}, {5, 5}}, Move: "", - Expected: []Point{{5, 4}, {5, 5}}, + Expected: []Point{{5, 6}, {5, 5}}, }, { Body: []Point{{5, 5}, {5, 4}},