freego/piece.go
2022-02-20 17:10:50 -05:00

41 lines
552 B
Go

package main
//Rank represents the rank of a piece
//go:generate enumer -type=Rank
type Rank int
//Rank rank pieces
const (
Flag Rank = iota
Spy
Scout
Miner
Captain
General
Marshal
)
//Piece :game piece
type Piece struct {
Rank Rank
Owner Colour
Hidden bool
}
//NewPiece creates a new piece
func NewPiece(r int, o Colour) *Piece {
return &Piece{
Rank: Rank(r),
Owner: o,
Hidden: false,
}
}
//NewHiddenPiece creates a new hidden piece
func NewHiddenPiece(o Colour) *Piece {
return &Piece{
Owner: o,
Hidden: true,
}
}