From af06dae597dc4265d291588bcd42170fb6c09902 Mon Sep 17 00:00:00 2001 From: emkael Date: Fri, 10 Aug 2018 12:13:52 +0200 Subject: Bolesławiec 2018 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patton-bam.sql | 20 ++++++++------------ patton-imp.sql | 20 ++++++++------------ 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; -- cgit v1.2.3