minor lobby improvements

This commit is contained in:
Alberto Xamin 2020-11-20 12:23:04 +01:00
parent 24cac2006e
commit 692615d77b
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
3 changed files with 22 additions and 4 deletions

View File

@ -23,6 +23,7 @@ class Game:
print(f'no players left in game {self.name}')
return True
self.sio.emit('room', room=self.name, data={'name': self.name, 'started': self.started, 'players': [p.name for p in self.players]})
self.sio.emit('chat_message', room=self.name, data=f'{player.name} si è disconnesso.')
return False
def add_player(self, player: players.Player):
@ -32,6 +33,8 @@ class Game:
self.players.append(player)
print(f'Added player {player.name} to game')
self.sio.emit('room', room=self.name, data={'name': self.name, 'started': self.started, 'players': [p.name for p in self.players]})
self.sio.emit('chat_message', room=self.name, data=f'{player.name} è entrato nella lobby.')
def choose_characters(self):
char_cards = random.sample(all_characters(), len(self.players)*2)
@ -42,6 +45,7 @@ class Game:
print('GAME IS STARING')
if self.started:
return
self.sio.emit('chat_message', room=self.name, data=f'La partita sta iniziando...')
self.started = True
self.deck = Deck()
self.choose_characters()

View File

@ -2,7 +2,7 @@
<div id="app">
<div id="logo" class="center-stuff" style="margin-bottom:10pt;">
<h1 style="margin-bottom:0pt;">PewPew!</h1>
<i style="font-size: x-small;">Bang è un marchio registrato DVGiochi!</i>
<i style="font-size: x-small;">Bang! è un marchio registrato DVGiochi</i>
</div>
<div v-if="isConnected">
<div v-if="!didSetUsername">

View File

@ -3,11 +3,12 @@
<h1>Lobby: {{ lobbyName }}</h1>
<h3>Giocatori</h3>
<div style="display:flex">
<Card v-if="startGameCard" :card="startGameCard"/>
<Card v-for="p in players" v-bind:key="p" :card="getPlayerCard(p)"/>
</div>
<h3>Chat</h3>
<div id="chatbox" style="max-height:300px; overflow:auto;">
<p v-for="msg in messages" v-bind:key="msg">{{msg}}</p>
<div id="chatbox" style="max-height:200px; overflow:auto;">
<p style="margin:1pt;" v-for="msg in messages" v-bind:key="msg">{{msg}}</p>
</div>
<form @submit="sendChatMessage">
<input v-model="text"/>
@ -58,12 +59,25 @@ export default {
getPlayerCard(username) {
return {
name: username,
number: (this.username == username) ? 'YOU' : '',
number: (this.username == username) ? 'YOU' : (this.players[0] == username) ? 'OWNER' :'',
icon: '🤠',
is_character: true,
}
},
},
computed: {
startGameCard() {
if (this.players.length > 2 && this.players[0] == this.username) {
return {
name: 'Start',
icon: '▶️',
is_equipment: true,
number: `${this.players.length}🤠`
}
}
return null;
}
}
}
</script>