From 30261597f1849b8a3176e3ccedc43f650aad5191 Mon Sep 17 00:00:00 2001 From: En Yi Date: Mon, 3 Jun 2019 16:04:44 +0100 Subject: [PATCH] Implement loading rng seeds for easier debugging --- .gitignore | 3 ++- main.py | 16 +++++++++++++++- players.py | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0f84d14..9d36f27 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ data/ test* math_ext.py .idea -__pycache__/ \ No newline at end of file +__pycache__/ +*.rng \ No newline at end of file diff --git a/main.py b/main.py index 7aa91b2..f230662 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,9 @@ import view import pygame import players - +import random +import pickle +import sys class GameScreen(view.PygView): @@ -53,6 +55,18 @@ class GameScreen(view.PygView): if __name__ == '__main__': + if len(sys.argv) > 1: + if sys.argv[1] == "--seed": + with open(sys.argv[2], 'rb') as f: + # The protocol version used is detected automatically, so we do not + # have to specify it. + rng_state = pickle.load(f) + random.setstate(rng_state) + + rng_state = random.getstate() + with open('last_game_rng.rng', 'wb') as f: + pickle.dump(rng_state, f) + main_view = GameScreen(640, 400, clear_colour=(255, 0, 0)) main_view.run() \ No newline at end of file diff --git a/players.py b/players.py index 79d3d6c..8b3d15b 100644 --- a/players.py +++ b/players.py @@ -396,7 +396,7 @@ class Player(cards.Deck): """ if game_state == GameState.POINT_CHECK: if self.AI: - self.AI.request_reshuffle() + return self.AI.request_reshuffle() if input("Low points hand detected! Reshuffle?").lower() == 'y': return self.request_reshuffle() if game_state == GameState.BIDDING: