mlp-server-tools/rulebot/engine/board.go

27 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
}