bjack/templates/game.tpl.php
2012-03-13 11:36:26 +01:00

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>