aboutsummaryrefslogtreecommitdiff
path: root/go/game/phases.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/phases.go')
-rw-r--r--go/game/phases.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/go/game/phases.go b/go/game/phases.go
new file mode 100644
index 00000000..ea239278
--- /dev/null
+++ b/go/game/phases.go
@@ -0,0 +1,42 @@
+package game
+
+type PhaseType int
+
+const (
+ drawPhase = iota
+ upkeepPhase
+ actionPhase
+ buyPhase
+ discardPhase
+)
+
+func (p PhaseType) String() string {
+ switch p {
+ case drawPhase:
+ return "Draw"
+ case upkeepPhase:
+ return "Upkeep"
+ case actionPhase:
+ return "Actions"
+ case buyPhase:
+ return "Buy"
+ case discardPhase:
+ return "Discard"
+ }
+
+ return ""
+}
+
+var Phases = struct {
+ DrawPhase PhaseType
+ UpkeepPhase PhaseType
+ ActionPhase PhaseType
+ BuyPhase PhaseType
+ DiscardPhase PhaseType
+}{
+ DrawPhase: drawPhase,
+ UpkeepPhase: upkeepPhase,
+ ActionPhase: actionPhase,
+ BuyPhase: buyPhase,
+ DiscardPhase: discardPhase,
+}