aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cyberschuessel/schuessel.py10
-rw-r--r--cyberschuessel/templates/index.html6
2 files changed, 13 insertions, 3 deletions
diff --git a/cyberschuessel/schuessel.py b/cyberschuessel/schuessel.py
index 3b05b23..fc3812d 100644
--- a/cyberschuessel/schuessel.py
+++ b/cyberschuessel/schuessel.py
@@ -34,6 +34,8 @@ class Schuessel:
self.words.append(word)
def draw(self, last_word=None):
+ phase_change = False
+
# first draw -> start game
if self.phase == 0:
self.phase = 1
@@ -52,9 +54,10 @@ class Schuessel:
self.drawn = self.words
self.words = tmp
self.phase = self.phase + 1
+ phase_change = True
word = random.choice(self.words)
- return word
+ return word, phase_change
async def broadcast(self, msg):
log.info(f'broadcasting {msg} to {len(self.clients.values())}')
@@ -100,7 +103,7 @@ class Schuessel:
if data['action'] == 'draw':
last_word = data.get('last_word', '')
- new_word = self.draw(last_word)
+ new_word, phase_change = self.draw(last_word)
drawn_msg = {'action': 'drawn'}
drawn_msg.update(self.schuessel_state())
@@ -113,7 +116,8 @@ class Schuessel:
try:
await ws.send_json({
'action': 'draw',
- 'drawn_word': new_word
+ 'drawn_word': new_word,
+ 'phase_change': phase_change,
})
except ConnectionResetError:
del(self.clients[session_id])
diff --git a/cyberschuessel/templates/index.html b/cyberschuessel/templates/index.html
index 1467971..1eb36b2 100644
--- a/cyberschuessel/templates/index.html
+++ b/cyberschuessel/templates/index.html
@@ -71,6 +71,7 @@
strings.reset_button = {'en': 'Reset', 'de': 'Neu'};
strings.add_button = {'en': 'Add word', 'de': 'Wort hinzufügen:'};
strings.add_word = {'en': 'Anything', 'de': 'Irgendwas'};
+ strings.phase_changed = {'en': 'Next Phase', 'de': 'Nächste Runde'};
let userLang = navigator.language || navigator.userLanguage;
userLang = userLang.substring(0, 2);
@@ -181,6 +182,11 @@
case 'draw':
set_drawn_word(data.drawn_word);
+ // schuessel is empty when we draw
+ // alert the user that a phase change occurred
+ if (data.phase_change) {
+ alert(strings.phase_changed[userLang]);
+ }
change_words_in_schuessel(-1);
break;