From 6b72ad494e0442c2f60ed05746f377abcc74eebb Mon Sep 17 00:00:00 2001 From: Leander Date: Thu, 20 Apr 2017 14:07:21 +0200 Subject: [PATCH] T201704201407 --- answer.php | 10 ++++++++-- config.inc.php | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/answer.php b/answer.php index 52ada09..b7abe58 100644 --- a/answer.php +++ b/answer.php @@ -17,8 +17,14 @@ $chosen_answer = isset($_GET['answer']) ? $_GET['answer'] : ''; $chosen_answer = (($chosen_answer === '0') || ($chosen_answer && gettype(+$chosen_answer) == 'integer')) ? +$_GET['answer'] : -1; function calculate_points($time) { - $points = $time < 2000 ? 100 : 205 - 1/2 * (205 + sqrt(-3975 + 2 * $time)); - $points = $points < 1 ? 10 : round($points * 10); + if($time < TIME_FULL) { + $points = MAX_POINTS; + } else { + $points = round(MAX_POINTS - ((POINTS_REDUCTION * sqrt(REDUCTION_STEP * (-8 * TIME_FULL + REDUCTION_STEP + 8 * $time))) / (2 * REDUCTION_STEP))); + } + if($points < MIN_POINTS) { + $points = MIN_POINTS; + } return $points; } diff --git a/config.inc.php b/config.inc.php index 0568432..fa12cb6 100644 --- a/config.inc.php +++ b/config.inc.php @@ -13,5 +13,12 @@ define('DATABASE_USER', 'gr2'); define('DATABASE_PASSWORD', '2Au-R2n-cQN-uuG'); define('DATABASE_NAME', 'CSDB'); +//consts for points calculation +define('MAX_POINTS', 1000); +define('MIN_POINTS', 100); +define('POINTS_REDUCTION', 40); +define('TIME_FULL', 0); +define('REDUCTION_STEP', 100); + // TODO ?> \ No newline at end of file