diff --git a/backend/bang/game.py b/backend/bang/game.py index ef43364..96cc24b 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -1,4 +1,5 @@ +import json from typing import List, Set, Dict, Tuple, Optional import random import socketio @@ -208,6 +209,8 @@ class Game: self.players[self.turn].pending_action = pl.PendingAction.CHOOSE self.players[self.turn].choose_text = 'choose_card_to_get' self.players[self.turn].available_cards = self.available_cards + self.sio.emit('emporio', room=self.name, data=json.dumps( + {'name':self.players[self.turn].name,'cards': self.available_cards}, default=lambda o: o.__dict__)) self.players[self.turn].notify_self() def respond_emporio(self, player, i): @@ -218,12 +221,15 @@ class Game: pls = self.get_alive_players() nextPlayer = pls[(pls.index(self.players[self.turn])+(len(pls)-len(self.available_cards))) % len(pls)] if nextPlayer == self.players[self.turn]: + self.sio.emit('emporio', room=self.name, data='{"name":"","cards":[]}') self.players[self.turn].pending_action = pl.PendingAction.PLAY self.players[self.turn].notify_self() else: nextPlayer.pending_action = pl.PendingAction.CHOOSE nextPlayer.choose_text = 'choose_card_to_get' nextPlayer.available_cards = self.available_cards + self.sio.emit('emporio', room=self.name, data=json.dumps( + {'name':nextPlayer.name,'cards': self.available_cards}, default=lambda o: o.__dict__)) nextPlayer.notify_self() def get_player_named(self, name:str): diff --git a/frontend/src/components/Chooser.vue b/frontend/src/components/Chooser.vue index 51d8653..4e68dea 100644 --- a/frontend/src/components/Chooser.vue +++ b/frontend/src/components/Chooser.vue @@ -2,7 +2,9 @@

{{text}}

- + + +

{{hintText}}

{{realCancelText}}
diff --git a/frontend/src/components/Player.vue b/frontend/src/components/Player.vue index dbf389b..e5bf0d8 100644 --- a/frontend/src/components/Player.vue +++ b/frontend/src/components/Player.vue @@ -36,7 +36,7 @@

{{hint}}

- + @@ -56,6 +56,7 @@ +
@@ -111,6 +112,7 @@ export default { is_ghost: false, name: '', eventCard: false, + emporioCards: {}, }), sockets: { role(role) { @@ -121,6 +123,9 @@ export default { characters(data) { this.availableCharacters = JSON.parse(data) }, + emporio(cards) { + this.emporioCards = JSON.parse(cards) + }, self(self) { self = JSON.parse(self) this.name = self.name diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index 2f893e1..a8c3f59 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -45,6 +45,7 @@ "choose_cecchino": "Choose who to shoot", "choose_rimbalzo_player": "Choose the target of the bang", "choose_rimbalzo_card": "Choose the card to discard the bang to", + "emporio_others": "{0} is choosing which card to get from the General Store", "you_died":"YOU DIED", "spectate":"SPECTATE", "you_win":"YOU WON", diff --git a/frontend/src/i18n/it.json b/frontend/src/i18n/it.json index 0d9adf4..b369446 100644 --- a/frontend/src/i18n/it.json +++ b/frontend/src/i18n/it.json @@ -45,6 +45,7 @@ "choose_cecchino": "Scegli contro chi sparare", "choose_rimbalzo_player": "Scegli contro chi scartare il bang", "choose_rimbalzo_card": "Scegli contro che carta scartare il bang", + "emporio_others": "{0} sta scegliendo che carta prendere dall'emporio", "you_died": "SEI MORTO", "spectate": "SPETTATORE", "you_win": "HAI VINTO",