summaryrefslogtreecommitdiff
path: root/engine/stack.go
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-09-14 19:48:36 +0200
committerewy <ewy0@protonmail.com>2026-09-14 19:48:36 +0200
commit899ef7448222f0d087c194b3379b702f8dd2ff8c (patch)
tree8c2b508bb4d01236c7f582e4eee91fd178d09670 /engine/stack.go
parentc69e6c0770359e2febafcf487eb21c4aa608c3e9 (diff)
add server and websocket comms
Diffstat (limited to 'engine/stack.go')
-rw-r--r--engine/stack.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/engine/stack.go b/engine/stack.go
new file mode 100644
index 0000000..d7fc7be
--- /dev/null
+++ b/engine/stack.go
@@ -0,0 +1,22 @@
+package engine
+
+type Stack []*Card
+
+func (s Stack) Contains(predicate func(c IsCard) bool) bool {
+ for _, c := range s {
+ if predicate(c) {
+ return true
+ }
+ }
+ return false
+}
+
+func (s Stack) Filter(predicate func(c IsCard) bool) Stack {
+ res := make(Stack, 0, len(s))
+ for _, c := range s {
+ if predicate(c) {
+ res = append(res, c)
+ }
+ }
+ return res
+}