[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