167 lines
3.5 KiB
PHP
167 lines
3.5 KiB
PHP
<h1>New Game</h1>
|
|
|
|
<?php
|
|
session_start();
|
|
if ($checkuser == 0) {
|
|
echo "Hello " . $_SESSION['user'] . "!";
|
|
} else if ($checkuser == 1) {
|
|
echo "Wrong Password!";
|
|
return 0;
|
|
} else if ($checkuser == 2) {
|
|
echo "New user created! Hello " . $_SESSION['user'] . "!";
|
|
}
|
|
|
|
?>
|
|
|
|
<br /><br />
|
|
|
|
<?php
|
|
|
|
require_once(SITE_ROOT . "/models/" . "bjack.php");
|
|
$bjack = new BJack();
|
|
|
|
if ($_REQUEST["finish"]) {
|
|
|
|
/*
|
|
* Finish button pressed
|
|
*/
|
|
|
|
$num = $_SESSION["num"]; /* Which card */
|
|
$card = $_SESSION["deck"][$num]; /* ID of card */
|
|
$info = $bjack->getCardInfo($card);
|
|
$cardPicture = $bjack->sixDecksWorkaround($card); /* Filename of card picture */
|
|
|
|
echo "<img src='images/cards/$cardPicture.png' alt='card' title='$info[1]' /><br />";
|
|
|
|
$score = $_SESSION["score"]; /* Get score from session */
|
|
echo "You finished the game with score <b>$score</b>.<br /><br />";
|
|
echo "<a href='?login'>New game</a>";
|
|
|
|
/*
|
|
* Reset game data
|
|
*/
|
|
|
|
unset($_SESSION["num"]);
|
|
unset($_SESSION["score"]);
|
|
|
|
/*
|
|
* Save score to database
|
|
*/
|
|
|
|
require_once(SITE_ROOT . "/models/" . "database.php");
|
|
$database = new Database();
|
|
$database->saveScore($_SESSION["user"], $score);
|
|
|
|
/*
|
|
* Generate new deck and store it to session
|
|
*/
|
|
|
|
$deck = $bjack->generateShuffledDeck();
|
|
$_SESSION["deck"] = $deck;
|
|
|
|
} else {
|
|
|
|
$_SESSION["num"]++; /* Increase card counter */
|
|
|
|
$num = $_SESSION["num"];
|
|
$score = $_SESSION["score"];
|
|
$card = $_SESSION["deck"][$num];
|
|
$info = $bjack->getCardInfo($card);
|
|
$cardPicture = $bjack->sixDecksWorkaround($card);
|
|
|
|
/*
|
|
* Calculate new score
|
|
*/
|
|
|
|
$score += $info[0];
|
|
|
|
/*
|
|
* Save score back to session
|
|
*/
|
|
|
|
$_SESSION["score"] = $score;
|
|
|
|
/*
|
|
* Display articles for Aces and Eights
|
|
*/
|
|
|
|
if ($card == "1" || $card == "2" || $card == "3" || $card == "4" || $card == "25" || $card == "26" || $card == "27" || $card == "28") {
|
|
$n = "n";
|
|
} else {
|
|
$n = "";
|
|
}
|
|
|
|
/*
|
|
* Display points for Aces
|
|
*/
|
|
|
|
if ($card == "1" || $card == "2" || $card == "3" || $card == "4") {
|
|
$ace = " or 10";
|
|
} else {
|
|
$ace = "";
|
|
}
|
|
|
|
echo "<img src='images/cards/$cardPicture.png' alt='card' title='$info[1]' /><br />";
|
|
echo "Your <b>$num.</b> card is a$n <b>$info[1]</b> and it gives you <b>$info[0]$ace points</b>.<br />Your score is now <b>$score.</b>";
|
|
|
|
/*
|
|
* Display chance to go over 21
|
|
* The complete deck has a value of 2040 points
|
|
*/
|
|
|
|
if ($score <= 21) {
|
|
|
|
$chance = $bjack->calculateChance($_SESSION["deck"], $num, $score);
|
|
$chance = round($chance, 0); /* We won't see a float number */
|
|
|
|
echo "<br />Chance to lose: <b>$chance%</b><br /><br />";
|
|
|
|
echo "<form action='?login' method='post'>\n";
|
|
echo "<input type='submit' value='New Card' name='newcard' />\n";
|
|
echo "<input type='submit' value='Finish game' name='finish' />\n";
|
|
echo "<select class='cardsSelector'>\n";
|
|
echo "<option>1 card</option>\n";
|
|
echo "<option>2 cards</option>\n";
|
|
echo "<option>3 cards</option>\n";
|
|
echo "</select>\n";
|
|
echo "</form>";
|
|
|
|
} else {
|
|
|
|
/*
|
|
* Lost game
|
|
*/
|
|
|
|
echo "You loose!<br /><br />";
|
|
echo "<a href='?login'>New game</a>";
|
|
|
|
/*
|
|
* Reset session data
|
|
*/
|
|
|
|
unset($_SESSION["num"]);
|
|
unset($_SESSION["score"]);
|
|
|
|
/*
|
|
* Save score to database
|
|
*/
|
|
|
|
require_once(SITE_ROOT . "/models/" . "database.php");
|
|
$database = new Database();
|
|
$database->saveScore($_SESSION["user"], $score);
|
|
|
|
/*
|
|
* Generate new deck
|
|
*/
|
|
|
|
$deck = $bjack->generateShuffledDeck();
|
|
$_SESSION["deck"] = $deck;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
<br /><br />
|
|
<a href="?menu">Back to menu</a>
|