70 lines
3.1 KiB
PHP
70 lines
3.1 KiB
PHP
<?php
|
|
require_once 'Db.php';
|
|
|
|
$db = new Database('localhost', 'babyweb', 'root', '');
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
|
|
|
|
$_POST = json_decode(file_get_contents('php://input'), true);
|
|
|
|
$is1v1 = true;
|
|
|
|
$red_score = $_POST['red_score'];
|
|
$blue_score = $_POST['blue_score'];
|
|
|
|
$red_p1 = $_POST['red_p1'];
|
|
$red_p2 = $_POST['red_p2'] !== 'NULL' ? $_POST['red_p2'] : NULL;
|
|
$blue_p1 = $_POST['blue_p1'];
|
|
$blue_p2 = $_POST['blue_p2'] !== 'NULL' ? $_POST['blue_p2'] : NULL;
|
|
|
|
$db->requestPushInsert("INSERT INTO matchs (red_score, blue_score, red_p1, red_p2, blue_p1, blue_p2, created_at) VALUES (:red_score, :blue_score, :red_p1, :red_p2, :blue_p1, :blue_p2, NOW())",
|
|
[
|
|
'red_score' => $red_score,
|
|
'blue_score' => $blue_score,
|
|
'red_p1' => $red_p1,
|
|
'red_p2' => $red_p2,
|
|
'blue_p1' => $blue_p1,
|
|
'blue_p2' => $blue_p2,
|
|
]);
|
|
|
|
if ($red_p2 !== NULL && $blue_p2 !== NULL)
|
|
$is1v1 = false;
|
|
|
|
if ($is1v1 === true){
|
|
$redPScore = $db->request("SELECT score FROM players WHERE id = :id", ['id' => $red_p1])['score'];
|
|
$bluePScore = $db->request("SELECT score FROM players WHERE id = :id", ['id' => $blue_p1])['score'];
|
|
|
|
$diff = $red_score > $blue_score ? (($bluePScore - $redPScore) / 100) : (($redPScore - $bluePScore) / 100);
|
|
$diff = $diff >= -10 ? $diff + 10 : 0;
|
|
|
|
if ($red_score > $blue_score){
|
|
$db->requestPush("UPDATE players SET score = score + :score WHERE id = :id", ['id' => $red_p1, 'score' => $diff]);
|
|
$db->requestPush("UPDATE players SET score = score - :score WHERE id = :id", ['id' => $blue_p1, 'score' => $diff]);
|
|
}else{
|
|
$db->requestPush("UPDATE players SET score = score - :score WHERE id = :id", ['id' => $red_p1, 'score' => $diff]);
|
|
$db->requestPush("UPDATE players SET score = score + :score WHERE id = :id", ['id' => $blue_p1, 'score' => $diff]);
|
|
}
|
|
|
|
}else{
|
|
if ($red_score > $blue_score){
|
|
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $red_p1]);
|
|
if ($red_p2 != NULL)
|
|
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $red_p2]);
|
|
|
|
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $blue_p1]);
|
|
if ($blue_p2 != NULL)
|
|
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $blue_p2]);
|
|
}else{
|
|
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $blue_p1]);
|
|
if ($blue_p2 != NULL)
|
|
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $blue_p2]);
|
|
|
|
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $red_p1]);
|
|
if ($red_p2 != NULL)
|
|
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $red_p2]);
|
|
}
|
|
}
|
|
|
|
$players = $db->requestAll("SELECT * FROM players ORDER BY score DESC");
|
|
echo json_encode($players);
|
|
}
|