diff options
Diffstat (limited to 'engine/card.go')
| -rw-r--r-- | engine/card.go | 20 |
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) +} |
