diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-01-26 22:16:10 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-01-27 16:43:44 +0100 |
| commit | 926ca5cdd20a39e3e05aaa3486cb166718dab5ca (patch) | |
| tree | 3d7bc8a0e1e0be1ce8d92d5503bdede878e718e9 /go/game/stack.go | |
| parent | 8720ebf9c74d9e11001772b5c00c293fa3a8b9e5 (diff) | |
| download | muhqs-game-926ca5cdd20a39e3e05aaa3486cb166718dab5ca.tar.gz muhqs-game-926ca5cdd20a39e3e05aaa3486cb166718dab5ca.zip | |
intermeditae commit
Diffstat (limited to 'go/game/stack.go')
| -rw-r--r-- | go/game/stack.go | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/go/game/stack.go b/go/game/stack.go index 45ba4072..9132ae13 100644 --- a/go/game/stack.go +++ b/go/game/stack.go @@ -18,7 +18,6 @@ func (s *Stack) IsEmpty() bool { } func (s *Stack) Push(a Action) { - s.gameState.broadcastNotification(NewDeclaredActionNotification(a)) s.Actions = append(s.Actions, a) } @@ -27,16 +26,21 @@ func (s *Stack) Pop() { if l == 0 { log.Fatalf("Can not pop from empty stack") } + a := s.Actions[l-1] s.Actions = s.Actions[:l-1] - a.Resolve(s.gameState) - s.gameState.broadcastNotification(NewResolvedActionNotification(a)) + + err := s.gameState.ValidateAction(a) + if err == nil { + a.Resolve(s.gameState) + } + log.Println("Resolved", a, err) + s.gameState.broadcastNotification(NewResolvedActionNotification(a, err)) } func (s *Stack) Resolve() { for !s.IsEmpty() { - log.Println("Resolve Stack") - s.gameState.AllPassing() + s.gameState.AllPassing(false) s.Pop() } } |
