diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2021-01-09 22:04:09 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2021-01-09 22:04:09 +0100 |
| commit | 9d67f8a30cc054890049ad402d5733ed046eebb3 (patch) | |
| tree | bac3bb73fa8968d6537abebe37a2b45cb17fee39 | |
| parent | c57d42c1d5ee91faf3f3f1b4742a3f89d1b3fdf6 (diff) | |
| download | cyberschuessel-9d67f8a30cc054890049ad402d5733ed046eebb3.tar.gz cyberschuessel-9d67f8a30cc054890049ad402d5733ed046eebb3.zip | |
add java script alert when a phase change occured during draw
| -rw-r--r-- | cyberschuessel/schuessel.py | 10 | ||||
| -rw-r--r-- | cyberschuessel/templates/index.html | 6 |
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; |
