From ee64e75461ec57fbf93107b61cea6a10276ac100 Mon Sep 17 00:00:00 2001 From: "George C. Privon" Date: Sun, 11 Nov 2018 15:59:31 -0500 Subject: [PATCH] add trade token scoring. partially addresses #1 --- CHANGELOG.md | 1 + cgame.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7046ad3..16c993a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * add a configuration file specifying the database location * add a utilities directory for scripts which should not be needed for normal operation but may be useful for working around issues. +* add scoring capability for Trade tokens (Traders & Builders Expanion). Token allocation is not automatically tracked (this can be tracked manually using the scoring comments). Trade token scores are entered during the post-game scoring period. ## 0.3 Series diff --git a/cgame.py b/cgame.py index 57b2e15..c751a6a 100644 --- a/cgame.py +++ b/cgame.py @@ -170,7 +170,9 @@ def getPlayers(self): def getExpansions(self): """ - Get a list of playable expansions + Get a list of playable expansions. + Ask the user which ones are active. + Based on the list, add token, tile, and score types to the basic list. """ self.expansionIDs = [] @@ -295,7 +297,9 @@ def recordScore(self): # see which token scored # really this should be expanded to allow multiple token types for one score - if len(self.tokens) > 1: + if score['scoretype'] == 'Trade token': + score['tokens'] = 'none' + elif len(self.tokens) > 1: VALID = False while not VALID: for i, token in enumerate(self.tokens): @@ -444,8 +448,9 @@ def advanceState(self): self.commands = [('r', 'record score'), ('e', 'end game (or end play if already in postgame scoring)'), ('s', '(current) score and game status')] + # add trade token scoring to the game scoring options if 2 in self.expansionIDs: - self.commands.append(('t', 'score trade goods')) + self.scoretypes.append('Trade token') self.commands.append(('?', 'print help')) _sys.stdout.write("At the end of regulation... ")