summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2018-08-10 12:13:52 +0200
committeremkael <emkael@tlen.pl>2018-08-10 12:13:52 +0200
commitaf06dae597dc4265d291588bcd42170fb6c09902 (patch)
treedf58f4bde51219254b4709ab0bed6dc545b20e79
parentc70157e6a05951afba88150e6b991185823fd572 (diff)
Bolesławiec 2018
-rw-r--r--patton-bam.sql20
-rw-r--r--patton-imp.sql20
2 files changed, 16 insertions, 24 deletions
diff --git a/patton-bam.sql b/patton-bam.sql
index b3689d3..4d60e85 100644
--- a/patton-bam.sql
+++ b/patton-bam.sql
@@ -139,24 +139,20 @@ INSERT INTO patton_sums
-- Wybieramy maksymalne saldo
UPDATE patton_sums SET max_saldo = IF (h_saldo > v_saldo, h_saldo, v_saldo);
--- Roboczo liczymy wynik za saldo względem wyniku 0:0
+-- Roboczo liczymy wynik za saldo względem wyniku remisu (n/2 : n/2)
-- Jeśli róznica salda > 1/3 maksymalnego, to gospodarze zdobywają
--- n/2 punktów przy n rozdaniach
+-- n/2 punktów przy n rozdaniach (czyli wygrywają do zera)
UPDATE patton_sums SET h_points = @boards_per_segment / 2
WHERE (max_saldo - v_saldo) / max_saldo > 1/3;
--- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to gospodarze zdobywają:
--- * 1 punkt przy 4 rozdaniach
--- * 1/6 * n, zaokrągloną do 0.1 przy n rozdaniach
-UPDATE patton_sums SET h_points = IF(@boards_per_segment = 4, 1, ROUND(@boards_per_segment / 6, 1))
+-- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to gospodarze zdobywają 1 punkt
+UPDATE patton_sums SET h_points = 1
WHERE (max_saldo - v_saldo) / max_saldo BETWEEN 1/10 AND 1/3;
--- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają:
--- n/2 punktów przy n rozdaniach
+-- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają
+-- n/2 punktów przy n rozdaniach (czyli wygrywają do zera)
UPDATE patton_sums SET h_points = -(@boards_per_segment / 2)
WHERE (max_saldo - h_saldo) / max_saldo > 1/3;
--- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają:
--- * 1 punkt przy 4 rozdaniach
--- * 1/6 * n, zaokrągloną do 0.1 przy n rozdaniach
-UPDATE patton_sums SET h_points = -IF(@boards_per_segment = 4, 1, ROUND(@boards_per_segment / 6, 1))
+-- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają 1 punkt
+UPDATE patton_sums SET h_points = -1
WHERE (max_saldo - h_saldo) / max_saldo BETWEEN 1/10 AND 1/3;
-- Druga drużyna zdobywa dopełnienie do zera.
UPDATE patton_sums SET v_points = -h_points;
diff --git a/patton-imp.sql b/patton-imp.sql
index c7163f4..a3bc9bb 100644
--- a/patton-imp.sql
+++ b/patton-imp.sql
@@ -152,24 +152,20 @@ INSERT INTO patton_sums
-- Wybieramy maksymalne saldo
UPDATE patton_sums SET max_saldo = IF (h_saldo > v_saldo, h_saldo, v_saldo);
--- Roboczo liczymy wynik za saldo względem wyniku 0:0
+-- Roboczo liczymy wynik za saldo względem remisu (n/2 : n/2)
-- Jeśli róznica salda > 1/3 maksymalnego, to gospodarze zdobywają
--- n/2 punktów przy n rozdaniach
+-- n/2 punktów przy n rozdaniach (czyli wygrywają do zera)
UPDATE patton_sums SET h_points = @boards_per_segment / 2
WHERE (max_saldo - v_saldo) / max_saldo > 1/3;
--- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to gospodarze zdobywają:
--- * 1 punkt przy 4 rozdaniach
--- * 1/6 * n, zaokrągloną do 0.1 przy n rozdaniach
-UPDATE patton_sums SET h_points = IF(@boards_per_segment = 4, 1, ROUND(@boards_per_segment / 6, 1))
+-- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to gospodarze zdobywają 1 punkt
+UPDATE patton_sums SET h_points = 1
WHERE (max_saldo - v_saldo) / max_saldo BETWEEN 1/10 AND 1/3;
--- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają:
--- n/2 punktów przy n rozdaniach
+-- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają
+-- n/2 punktów przy n rozdaniach (czyli wygrywają do zera)
UPDATE patton_sums SET h_points = -(@boards_per_segment / 2)
WHERE (max_saldo - h_saldo) / max_saldo > 1/3;
--- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają:
--- * 1 punkt przy 4 rozdaniach
--- * 1/6 * n, zaokrągloną do 0.1 przy n rozdaniach
-UPDATE patton_sums SET h_points = -IF(@boards_per_segment = 4, 1, ROUND(@boards_per_segment / 6, 1))
+-- Jeśli róznica salda > 1/10 maksymalnego, ale < 1/3, to goście zdobywają 1 punkt
+UPDATE patton_sums SET h_points = -1
WHERE (max_saldo - h_saldo) / max_saldo BETWEEN 1/10 AND 1/3;
-- Druga drużyna zdobywa dopełnienie do zera.
UPDATE patton_sums SET v_points = -h_points;