aboutsummaryrefslogtreecommitdiff
path: root/tris/hold.go
diff options
context:
space:
mode:
authorJoop Kiefte <ikojba@gmail.com>2020-09-20 10:25:03 +0200
committerJoop Kiefte <ikojba@gmail.com>2020-09-20 10:25:03 +0200
commitc3da6b22c767d79970d98df181bf5eb89bf55b93 (patch)
tree9c1f0324c1f307a2a092c8f9d7b5c5796a431b64 /tris/hold.go
parentde36bfd4aecb683c128fb4294de545317fc0edab (diff)
Add hold boxv1.0.0
Diffstat (limited to 'tris/hold.go')
-rw-r--r--tris/hold.go23
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
+}