26 lines
812 B
Go
26 lines
812 B
Go
package engine
|
|
|
|
// Board is the board state of a game
|
|
type Board struct {
|
|
PlayerBoards map[*Player]PlayerBoard
|
|
}
|
|
|
|
// Stack is a stack/list of cards
|
|
type Stack []*Card
|
|
|
|
// PlayerBoard is the side of the board belonging to a specific player
|
|
type PlayerBoard struct {
|
|
Home Zone // Player's home
|
|
Problems []Zone // All problems the player can place cards at
|
|
Deck Stack // Cards left in the main deck
|
|
ProblemDeck Stack // Cards left in the problem deck
|
|
Discards Stack // Cards in the discard pile
|
|
Banished Stack // Cards that have been banished
|
|
Hand Stack // Cards the player has in hand
|
|
}
|
|
|
|
// Zone is a place cards can go to/be played at
|
|
type Zone struct {
|
|
Cards []*CardInstance // Cards in the zone
|
|
Problem *CardInstance // If it's a problem, the problem's card
|
|
}
|