summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2017-01-04 00:26:31 +0100
committeremkael <emkael@tlen.pl>2017-01-04 20:56:20 +0100
commit66cd9985aec868e393842d302beb3f01bcd2ba31 (patch)
tree8d74db2d6120449dd927e94c1a7296b321625a79
parent9e475e3cc99849c3238995aebac9a1dd361bfec3 (diff)
Applying normalization to butler scores
-rw-r--r--ausbutler/butler.py7
-rw-r--r--ausbutler/interface.py6
-rw-r--r--butler.py1
3 files changed, 13 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()
diff --git a/butler.py b/butler.py
index a15d6be..03f79d1 100644
--- a/butler.py
+++ b/butler.py
@@ -4,3 +4,4 @@ i = Interface()
i.init_db()
i.populate_db()
i.opp_scores()
+i.normalize_scores()