diff options
author | Joop Kiefte <ikojba@gmail.com> | 2020-09-20 10:25:03 +0200 |
---|---|---|
committer | Joop Kiefte <ikojba@gmail.com> | 2020-09-20 10:25:03 +0200 |
commit | c3da6b22c767d79970d98df181bf5eb89bf55b93 (patch) | |
tree | 9c1f0324c1f307a2a092c8f9d7b5c5796a431b64 /tris/hold.go | |
parent | de36bfd4aecb683c128fb4294de545317fc0edab (diff) |
Add hold boxv1.0.0
Diffstat (limited to 'tris/hold.go')
-rw-r--r-- | tris/hold.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tris/hold.go b/tris/hold.go new file mode 100644 index 0000000..6a82f5b --- /dev/null +++ b/tris/hold.go @@ -0,0 +1,23 @@ +package tris + +var HoldPiece Piece + +var HoldBox Field + +var Swapped bool + +func (b Bag) Swap(p Placement) (Bag, Placement) { + if Swapped { + return b, p + } + var tempp Placement + if HoldPiece == EmptyPiece { + b, tempp = b.Pick() + HoldPiece = tempp.piece + } + p.piece, HoldPiece = HoldPiece, p.piece + Swapped = true + HoldBox, _ = Placement{piece: HoldPiece, X: 0, Y:0}.Field(2,4) + p.Rot, p.X, p.Y = 0, 3, -2 + return b, p +} |