diff options
Diffstat (limited to 'tris')
-rw-r--r-- | tris/core.go | 4 | ||||
-rw-r--r-- | tris/move.go | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/tris/core.go b/tris/core.go index 0b5afff..d0164e2 100644 --- a/tris/core.go +++ b/tris/core.go @@ -44,9 +44,9 @@ type Placement struct { Lock time.Time } -func (p Placement) Collide(f Field) bool { //TODO: Fix first piece collision bug +func (p Placement) Collide(f Field) bool { pf, ok := p.Field() - for x := 0; x < 9; x++ { + for x := 0; x < 10; x++ { for y := 0; y < 20; y++ { if f[y][x] && pf[y][x] { return true diff --git a/tris/move.go b/tris/move.go index 29140b8..26dd568 100644 --- a/tris/move.go +++ b/tris/move.go @@ -12,7 +12,7 @@ func (p Placement) Move(f Field, rot Rotation, x, y int) (np Placement, floor, t np.X = x np.Y = y if !np.Collide(f) { // free air - return np, false, false + return np, np.Floor(f), false } np = p // last resort reset p if np.Floor(f) && np.Y < 0 { |