summaryrefslogtreecommitdiff
path: root/engine/card.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/card.go')
-rw-r--r--engine/card.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/engine/card.go b/engine/card.go
index 3eb6a8f..fce1af0 100644
--- a/engine/card.go
+++ b/engine/card.go
@@ -1,5 +1,7 @@
package engine
+import "slices"
+
type Card struct {
Name string
AllOut bool
@@ -19,3 +21,21 @@ type IsCard interface {
Base() *Card
CanPlay(g *Game) bool
}
+
+type CardInstance struct {
+ *Card
+ Visible bool
+}
+
+var secretCardStruct = &Card{
+ Name: "?",
+}
+
+var SecretCard = &CardInstance{
+ Card: secretCardStruct,
+ Visible: false,
+}
+
+func Secrets(size int) Stack {
+ return slices.Repeat([]IsCard{SecretCard}, size)
+}