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)
|
||||
} else {
|
||||
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{},
|
||||
},
|
||||
[]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,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"},
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue