diff options
| author | ewy <ewy0@protonmail.com> | 2026-09-14 19:48:36 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-09-14 19:48:36 +0200 |
| commit | 899ef7448222f0d087c194b3379b702f8dd2ff8c (patch) | |
| tree | 8c2b508bb4d01236c7f582e4eee91fd178d09670 /engine/stack.go | |
| parent | c69e6c0770359e2febafcf487eb21c4aa608c3e9 (diff) | |
add server and websocket comms
Diffstat (limited to 'engine/stack.go')
| -rw-r--r-- | engine/stack.go | 22 |
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 +} |
