From deb2af90084d57184898d833608f52450911a948 Mon Sep 17 00:00:00 2001 From: Roman Atachiants Date: Sun, 19 Jun 2022 10:21:36 +0400 Subject: [PATCH] Fix MoveBy --- go.mod | 6 ++++-- point.go | 12 ++++++------ point_test.go | 12 ++++++------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index d409ec9..b083e2b 100644 --- a/go.mod +++ b/go.mod @@ -2,11 +2,13 @@ module github.com/kelindar/tile go 1.17 -require github.com/stretchr/testify v1.7.0 +require ( + github.com/kelindar/iostream v1.2.0 + github.com/stretchr/testify v1.7.0 +) require ( github.com/davecgh/go-spew v1.1.0 // indirect - github.com/kelindar/iostream v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect ) diff --git a/point.go b/point.go index bbebcb7..2803de4 100644 --- a/point.go +++ b/point.go @@ -197,21 +197,21 @@ func (p Point) Move(direction Direction) Point { func (p Point) MoveBy(direction Direction, n int16) Point { switch direction { case North: - return Point{p.X, p.Y + n} + return Point{p.X, p.Y - n} case NorthEast: - return Point{p.X + n, p.Y + n} + return Point{p.X + n, p.Y - n} case East: return Point{p.X + n, p.Y} case SouthEast: - return Point{p.X + n, p.Y - n} + return Point{p.X + n, p.Y + n} case South: - return Point{p.X, p.Y - n} + return Point{p.X, p.Y + n} case SouthWest: - return Point{p.X - n, p.Y - n} + return Point{p.X - n, p.Y + n} case West: return Point{p.X - n, p.Y} case NorthWest: - return Point{p.X - n, p.Y + n} + return Point{p.X - n, p.Y - n} default: return p } diff --git a/point_test.go b/point_test.go index ab212e0..aaebbfe 100644 --- a/point_test.go +++ b/point_test.go @@ -90,14 +90,14 @@ func TestMove(t *testing.T) { dir Direction out Point }{ - {North, Point{X: 0, Y: 1}}, - {South, Point{X: 0, Y: -1}}, + {North, Point{X: 0, Y: -1}}, + {South, Point{X: 0, Y: 1}}, {East, Point{X: 1, Y: 0}}, {West, Point{X: -1, Y: 0}}, - {NorthEast, Point{X: 1, Y: 1}}, - {NorthWest, Point{X: -1, Y: 1}}, - {SouthEast, Point{X: 1, Y: -1}}, - {SouthWest, Point{X: -1, Y: -1}}, + {NorthEast, Point{X: 1, Y: -1}}, + {NorthWest, Point{X: -1, Y: -1}}, + {SouthEast, Point{X: 1, Y: 1}}, + {SouthWest, Point{X: -1, Y: 1}}, {Direction(99), Point{}}, }