Invert the Y-Axis to match modern gameplay.
This commit is contained in:
parent
e1bafaac69
commit
d62807774b
6 changed files with 32 additions and 37 deletions
|
|
@ -300,11 +300,6 @@ func getMoveForSnake(state *rules.BoardState, snake Battlesnake, outOfBounds []r
|
||||||
log.Fatal(jsonErr)
|
log.Fatal(jsonErr)
|
||||||
} else {
|
} else {
|
||||||
move = playerResponse.Move
|
move = playerResponse.Move
|
||||||
if snake.API == "1" && move == "up" {
|
|
||||||
move = "down"
|
|
||||||
} else if snake.API == "1" && move == "down" {
|
|
||||||
move = "up"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,8 +67,8 @@ func TestConstrictorCreateNextBoardState(t *testing.T) {
|
||||||
Food: []Point{},
|
Food: []Point{},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveDown},
|
{ID: "one", Move: MoveUp},
|
||||||
{ID: "two", Move: MoveUp},
|
{ID: "two", Move: MoveDown},
|
||||||
},
|
},
|
||||||
&BoardState{
|
&BoardState{
|
||||||
Width: 3,
|
Width: 3,
|
||||||
|
|
@ -103,7 +103,7 @@ func TestConstrictorCreateNextBoardState(t *testing.T) {
|
||||||
Food: []Point{},
|
Food: []Point{},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveDown},
|
{ID: "one", Move: MoveUp},
|
||||||
},
|
},
|
||||||
&BoardState{
|
&BoardState{
|
||||||
Width: 3,
|
Width: 3,
|
||||||
|
|
|
||||||
|
|
@ -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}}}}}
|
b := &BoardState{Width: 10, Height: 10, Snakes: []Snake{{ID: "one", Health: 100, Body: []Point{{9, 1}}}}}
|
||||||
r := RoyaleRuleset{Seed: seed, ShrinkEveryNTurns: 10, DamagePerTurn: 30}
|
r := RoyaleRuleset{Seed: seed, ShrinkEveryNTurns: 10, DamagePerTurn: 30}
|
||||||
m := []SnakeMove{{ID: "one", Move: "up"}}
|
m := []SnakeMove{{ID: "one", Move: "down"}}
|
||||||
|
|
||||||
r.Turn = 10
|
r.Turn = 10
|
||||||
n, err := r.CreateNextBoardState(b, m)
|
n, err := r.CreateNextBoardState(b, m)
|
||||||
|
|
|
||||||
|
|
@ -359,7 +359,7 @@ func TestRegressionIssue16(t *testing.T) {
|
||||||
"Zero Cool": "Hackers",
|
"Zero Cool": "Hackers",
|
||||||
}
|
}
|
||||||
snakeMoves := []SnakeMove{
|
snakeMoves := []SnakeMove{
|
||||||
{ID: "teamBoi", Move: "down"},
|
{ID: "teamBoi", Move: "up"},
|
||||||
{ID: "Node-Red-Bellied-Black-Snake", Move: "left"},
|
{ID: "Node-Red-Bellied-Black-Snake", Move: "left"},
|
||||||
{ID: "Crash Override", Move: "left"},
|
{ID: "Crash Override", Move: "left"},
|
||||||
{ID: "Zero Cool", Move: "left"},
|
{ID: "Zero Cool", Move: "left"},
|
||||||
|
|
|
||||||
|
|
@ -261,7 +261,7 @@ func (r *StandardRuleset) moveSnakes(b *BoardState, moves []SnakeMove) error {
|
||||||
switch move.Move {
|
switch move.Move {
|
||||||
case MoveDown:
|
case MoveDown:
|
||||||
newHead.X = snake.Body[0].X
|
newHead.X = snake.Body[0].X
|
||||||
newHead.Y = snake.Body[0].Y + 1
|
newHead.Y = snake.Body[0].Y - 1
|
||||||
case MoveLeft:
|
case MoveLeft:
|
||||||
newHead.X = snake.Body[0].X - 1
|
newHead.X = snake.Body[0].X - 1
|
||||||
newHead.Y = snake.Body[0].Y
|
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
|
newHead.Y = snake.Body[0].Y
|
||||||
case MoveUp:
|
case MoveUp:
|
||||||
newHead.X = snake.Body[0].X
|
newHead.X = snake.Body[0].X
|
||||||
newHead.Y = snake.Body[0].Y - 1
|
newHead.Y = snake.Body[0].Y + 1
|
||||||
default:
|
default:
|
||||||
// Default to UP
|
// Default to UP
|
||||||
var dX int32 = 0
|
var dX int32 = 0
|
||||||
var dY int32 = -1
|
var dY int32 = 1
|
||||||
// If neck is available, use neck to determine last direction
|
// If neck is available, use neck to determine last direction
|
||||||
if len(snake.Body) >= 2 {
|
if len(snake.Body) >= 2 {
|
||||||
dX = snake.Body[0].X - snake.Body[1].X
|
dX = snake.Body[0].X - snake.Body[1].X
|
||||||
dY = snake.Body[0].Y - snake.Body[1].Y
|
dY = snake.Body[0].Y - snake.Body[1].Y
|
||||||
if dX == 0 && dY == 0 {
|
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
|
// Apply
|
||||||
|
|
|
||||||
|
|
@ -540,8 +540,8 @@ func TestCreateNextBoardState(t *testing.T) {
|
||||||
Food: []Point{{0, 0}, {1, 0}},
|
Food: []Point{{0, 0}, {1, 0}},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveUp},
|
{ID: "one", Move: MoveDown},
|
||||||
{ID: "two", Move: MoveDown},
|
{ID: "two", Move: MoveUp},
|
||||||
{ID: "three", Move: MoveLeft}, // Should be ignored
|
{ID: "three", Move: MoveLeft}, // Should be ignored
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
|
|
@ -610,8 +610,8 @@ func TestEatingOnLastMove(t *testing.T) {
|
||||||
Food: []Point{{0, 3}, {9, 9}},
|
Food: []Point{{0, 3}, {9, 9}},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveDown},
|
{ID: "one", Move: MoveUp},
|
||||||
{ID: "two", Move: MoveUp},
|
{ID: "two", Move: MoveDown},
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
&BoardState{
|
&BoardState{
|
||||||
|
|
@ -676,8 +676,8 @@ func TestHeadToHeadOnFood(t *testing.T) {
|
||||||
Food: []Point{{0, 3}, {9, 9}},
|
Food: []Point{{0, 3}, {9, 9}},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveDown},
|
{ID: "one", Move: MoveUp},
|
||||||
{ID: "two", Move: MoveUp},
|
{ID: "two", Move: MoveDown},
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
&BoardState{
|
&BoardState{
|
||||||
|
|
@ -721,8 +721,8 @@ func TestHeadToHeadOnFood(t *testing.T) {
|
||||||
Food: []Point{{0, 3}, {9, 9}},
|
Food: []Point{{0, 3}, {9, 9}},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveDown},
|
{ID: "one", Move: MoveUp},
|
||||||
{ID: "two", Move: MoveUp},
|
{ID: "two", Move: MoveDown},
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
&BoardState{
|
&BoardState{
|
||||||
|
|
@ -789,8 +789,8 @@ func TestRegressionIssue19(t *testing.T) {
|
||||||
Food: []Point{{9, 9}},
|
Food: []Point{{9, 9}},
|
||||||
},
|
},
|
||||||
[]SnakeMove{
|
[]SnakeMove{
|
||||||
{ID: "one", Move: MoveDown},
|
{ID: "one", Move: MoveUp},
|
||||||
{ID: "two", Move: MoveUp},
|
{ID: "two", Move: MoveDown},
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
&BoardState{
|
&BoardState{
|
||||||
|
|
@ -860,29 +860,29 @@ func TestMoveSnakes(t *testing.T) {
|
||||||
ExpectedThree []Point
|
ExpectedThree []Point
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
MoveUp, []Point{{10, 109}, {10, 110}},
|
MoveDown, []Point{{10, 109}, {10, 110}},
|
||||||
MoveDown, []Point{{23, 221}, {23, 220}, {22, 220}, {21, 220}},
|
MoveUp, []Point{{23, 221}, {23, 220}, {22, 220}, {21, 220}},
|
||||||
MoveUp, []Point{{0, 0}},
|
MoveDown, []Point{{0, 0}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
MoveRight, []Point{{11, 109}, {10, 109}},
|
MoveRight, []Point{{11, 109}, {10, 109}},
|
||||||
MoveLeft, []Point{{22, 221}, {23, 221}, {23, 220}, {22, 220}},
|
MoveLeft, []Point{{22, 221}, {23, 221}, {23, 220}, {22, 220}},
|
||||||
MoveUp, []Point{{0, 0}},
|
MoveDown, []Point{{0, 0}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
MoveRight, []Point{{12, 109}, {11, 109}},
|
MoveRight, []Point{{12, 109}, {11, 109}},
|
||||||
MoveLeft, []Point{{21, 221}, {22, 221}, {23, 221}, {23, 220}},
|
MoveLeft, []Point{{21, 221}, {22, 221}, {23, 221}, {23, 220}},
|
||||||
MoveUp, []Point{{0, 0}},
|
MoveDown, []Point{{0, 0}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
MoveRight, []Point{{13, 109}, {12, 109}},
|
MoveRight, []Point{{13, 109}, {12, 109}},
|
||||||
MoveLeft, []Point{{20, 221}, {21, 221}, {22, 221}, {23, 221}},
|
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{{13, 108}, {13, 109}},
|
||||||
MoveDown, []Point{{20, 222}, {20, 221}, {21, 221}, {22, 221}},
|
MoveUp, []Point{{20, 222}, {20, 221}, {21, 221}, {22, 221}},
|
||||||
MoveUp, []Point{{0, 0}},
|
MoveDown, []Point{{0, 0}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -979,11 +979,11 @@ func TestMoveSnakesExtraMovesIgnored(t *testing.T) {
|
||||||
moves := []SnakeMove{
|
moves := []SnakeMove{
|
||||||
{
|
{
|
||||||
ID: "one",
|
ID: "one",
|
||||||
Move: MoveUp,
|
Move: MoveDown,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ID: "two",
|
ID: "two",
|
||||||
Move: MoveUp,
|
Move: MoveLeft,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1027,12 +1027,12 @@ func TestMoveSnakesDefault(t *testing.T) {
|
||||||
{
|
{
|
||||||
Body: []Point{{0, 0}},
|
Body: []Point{{0, 0}},
|
||||||
Move: "invalid",
|
Move: "invalid",
|
||||||
Expected: []Point{{0, -1}},
|
Expected: []Point{{0, 1}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Body: []Point{{5, 5}, {5, 5}},
|
Body: []Point{{5, 5}, {5, 5}},
|
||||||
Move: "",
|
Move: "",
|
||||||
Expected: []Point{{5, 4}, {5, 5}},
|
Expected: []Point{{5, 6}, {5, 5}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Body: []Point{{5, 5}, {5, 4}},
|
Body: []Point{{5, 5}, {5, 4}},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue