diff options
Diffstat (limited to 'ausbutler')
-rw-r--r-- | ausbutler/butler.py | 7 | ||||
-rw-r--r-- | ausbutler/interface.py | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/ausbutler/butler.py b/ausbutler/butler.py index fb78fdb..2fae840 100644 --- a/ausbutler/butler.py +++ b/ausbutler/butler.py @@ -32,3 +32,10 @@ def get_room(butler, player): if player in [table.closeE, table.closeW, table.closeN, table.closeS]: return 'closed' +def normalize(butler): + if butler.board_count == 0: + return 0.0 + return ( + butler.cut_score / butler.board_count + + butler.opp_score * config['opponent_factor'] + ) * butler.board_count diff --git a/ausbutler/interface.py b/ausbutler/interface.py index 37af0e3..99b0e9d 100644 --- a/ausbutler/interface.py +++ b/ausbutler/interface.py @@ -1,6 +1,6 @@ from .db import Session from .model import AusButler, Butler -from .butler import cutoff, get_opponents, get_room +from .butler import cutoff, get_opponents, get_room, normalize import re @@ -50,3 +50,7 @@ class Interface: ) / 2 self.session.commit() + def normalize_scores(self): + for butler in self.session.query(AusButler).all(): + butler.corrected_score = normalize(butler) + self.session.commit() |