From 518a7092c73d787c7bb1d7aaab1c5dfde39cd023 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Tue, 24 Aug 2021 20:05:04 +0300 Subject: [PATCH] add startwith seed --- backend/__init__.py | 4 ++++ backend/bang/game.py | 14 +++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/backend/__init__.py b/backend/__init__.py index 1afa6ac..4df546c 100644 --- a/backend/__init__.py +++ b/backend/__init__.py @@ -210,6 +210,10 @@ def chat_message(sid, msg): ses.game.add_player(bot) bot.bot_spin() return + if '/startwithseed' in msg and not ses.game.started: + if len(msg.split()) > 1: + ses.game.start_game(int(msg.split()[1])) + return elif '/removebot' in msg and not ses.game.started: if any([p.is_bot for p in ses.game.players]): [p for p in ses.game.players if p.is_bot][-1].disconnect() diff --git a/backend/bang/game.py b/backend/bang/game.py index 28c7245..0c3c9ec 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -106,7 +106,8 @@ class Game: {'cmd':'/meinfo', 'help':'Get player data'}, {'cmd':'/gameinfo', 'help':'Get game data'}, {'cmd':'/mebot', 'help':'Toggles bot mode'}, - {'cmd':'/getnuggets', 'help':'Adds nuggets to yourself - sample /getnuggets 5'}] + {'cmd':'/getnuggets', 'help':'Adds nuggets to yourself - sample /getnuggets 5'}, + {'cmd':'/startwithseed', 'help':'start the game with custom seed'}] self.sio.emit('commands', room=self.name, data=commands) else: self.sio.emit('commands', room=self.name, data=[{'cmd':'/debug', 'help':'Toggles the debug mode'}]) @@ -180,10 +181,17 @@ class Game: for i in range(len(self.players)): self.players[i].set_available_character(char_cards[i * n : i * n + n]) - def start_game(self): - print(f'{self.name}: GAME IS STARING') + def start_game(self, SEED=None): if self.started: return + print(f'{self.name}: GAME IS STARING') + if SEED == None: + import time + SEED = int(time.time()) + random.seed(SEED) + print(f'{self.name}: SEED IS {SEED}') + else: + random.seed(SEED) self.players_map = {c.name: i for i, c in enumerate(self.players)} self.sio.emit('chat_message', room=self.name, data=f'_starting') self.sio.emit('start', room=self.name)