aboutsummaryrefslogtreecommitdiff
path: root/tris/hold.go
blob: 6a82f5b6da8317720bcfa24c49f4a876883aeb65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
}