[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kajongg/sid] src: Game: make seed a property
From: Wolfgang Rohdewald <wolfgang () rohdewald ! de>
Date: 2013-10-31 21:21:15
Message-ID: E1Vbzg3-0002lj-BZ () scm ! kde ! org
[Download RAW message or body]
Git commit 3682d7adc41b491d4f46fb8ad96447ed9f7b5905 by Wolfgang Rohdewald.
Committed on 31/10/2013 at 21:09.
Pushed by wrohdewald into branch 'sid'.
Game: make seed a property
M +10 -11 src/game.py
M +0 -2 src/scoring.py
http://commits.kde.org/kajongg/3682d7adc41b491d4f46fb8ad96447ed9f7b5905
diff --git a/src/game.py b/src/game.py
index 6c3f250..4da1017 100644
--- a/src/game.py
+++ b/src/game.py
@@ -123,15 +123,8 @@ class Game(object):
self.roundsFinished = 0
self._currentHandId = None
self._prevHandId = None
- self.seed = 0
self.randomGenerator = CountingRandom(self)
- if self.isScoringGame():
- self.wantedGame = str(wantedGame)
- self.seed = wantedGame
- else:
- self.wantedGame = wantedGame
- _ = int(wantedGame.split('/')[0]) if wantedGame else 0
- self.seed = _ or int(self.randomGenerator.random() * 10**9)
+ self.wantedGame = wantedGame
self.shouldSave = shouldSave
self._setHandSeed()
self.activePlayer = None
@@ -386,14 +379,20 @@ class Game(object):
# generate a new ruleset
self.ruleset.save()
+ @property
+ def seed(self):
+ """extract it from wantedGame. Set wantedGame if empty."""
+ if not self.wantedGame:
+ self.wantedGame = str(self.randomGenerator.random() * 10**9)
+ return int(self.wantedGame.split('/')[0])
+
def _setHandSeed(self):
"""set seed to a reproducable value, independent of what happend
in previous hands/rounds.
This makes it easier to reproduce game situations
in later hands without having to exactly replay all previous hands"""
- if self.seed is not None:
- seedFactor = (self.roundsFinished + 1) * 10000 + self.rotated * 1000 + self.notRotated * 100
- self.randomGenerator.seed(self.seed * seedFactor)
+ seedFactor = (self.roundsFinished + 1) * 10000 + self.rotated * 1000 + self.notRotated * 100
+ self.randomGenerator.seed(self.seed * seedFactor)
def prepareHand(self):
"""prepare a game hand"""
diff --git a/src/scoring.py b/src/scoring.py
index 4509b66..782d778 100644
--- a/src/scoring.py
+++ b/src/scoring.py
@@ -820,8 +820,6 @@ class ScoringDialog(QWidget):
def refresh(self, game):
"""reload game"""
- if game and not game.isScoringGame():
- return
self.game = game
self.clear()
self.setVisible(game is not None and not game.finished())
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic