Pages: [1]   Go Down
Send this topic | Print
Author Topic: [PHP game] Guess the right number  (Read 982 times)
clanx3
Hyper-Active Member
***
Offline Offline

Posts: 240


« on: September 30, 2008, 06:07:01 PM »

I know that I'm not the only one who have done this sort of game but I had nothing to do so I made this small game in which you are going to guess a number Duh

Demo: http://clanx3.110mb.com/guess_the_number.php

Code:
<?php
session_start();
function is_numeric_real($numbers)
{
if (preg_match("/^[0-9]*$/", $numbers))
{
return true;
}
else
{
return false;
}
}
$numbers = array(
0 => 0,
1 => 1,
2 => 2,
3 => 3,
4 => 4,
5 => 5,
6 => 6,
7 => 7,
8 => 8,
9 => 9
);
if (isset($_GET['difficulty_level']))
{
$_SESSION['play'] = $_GET['difficulty_level'];
if ($_GET['difficulty_level'] == "1")
{
$a = 0;
while($a < 5)
{
$_SESSION['numbers'] .= $numbers[rand(0,9)];
$a++;
}
}
elseif ($_GET['difficulty_level'] == "2")
{
$a = 0;
while($a < 10)
{
$_SESSION['numbers'] .= $numbers[rand(0,9)];
$a++;
}
}
elseif ($_GET['difficulty_level'] == "3")
{
$a = 0;
while($a < 20)
{
$_SESSION['numbers'] .= $numbers[rand(0,9)];
$a++;
}
}
}
if (isset($_GET['action']))
{
if ($_GET['action'] == "unset")
{
session_unset();
session_destroy();
}
elseif ($_GET['action'] == "new")
{
unset($_SESSION['numbers']);
unset($_SESSION['guesses']);
if ($_SESSION['play'] == "1")
{
$a = 0;
while($a < 5)
{
$_SESSION['numbers'] .= $numbers[rand(0,9)];
$a++;
}
}
elseif ($_SESSION['play'] == "2")
{
$a = 0;
while($a < 10)
{
$_SESSION['numbers'] .= $numbers[rand(0,9)];
$a++;
}
}
elseif ($_SESSION['play'] == "3")
{
$a = 0;
while($a < 20)
{
$_SESSION['numbers'] .= $numbers[rand(0,9)];
$a++;
}
}
}
}
if (!isset($_SESSION['guesses']))
{
$_SESSION['guesses'] = 0;
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>
Guess the number
</title>
</head>

<body>
<?php
if (!isset($_SESSION['play']))
{ ?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
Choose difficulty level:<br />
<input name="difficulty_level" type="radio" value="1" /> Easy<br />
<input name="difficulty_level" type="radio" value="2" /> Medium<br />
<input name="difficulty_level" type="radio" value="3" /> Hard<br />
<input type="submit" value="Choose" />
</form>
<?php }
else
{ ?>

<?php
if (!isset($_SESSION['numbers']))
{
echo "Click on \"New numbers\"";
}
else
{
if (isset($_GET['number']))
{
if (!empty($_GET['number']))
{
if (is_numeric_real($_GET['number']))
{
if ($_GET['number'] < $_SESSION['numbers'])
{
$_SESSION['guesses']++;
echo "The number that you seek is bigger than the number you guessed on. You have guessed " . $_SESSION['guesses'] . " times";
}
elseif ($_GET['number'] > $_SESSION['numbers'])
{
$_SESSION['guesses']++;
echo "The number that you seek is smaller than the number you guessed on. You have guessed " . $_SESSION['guesses'] . " times";
}
elseif ($_GET['number'] == $_SESSION['numbers'])
{
$_SESSION['guesses']++;
echo "You guessed on the right number! Click on \"New numbers\". You guessed " . $_SESSION['guesses'] . " times before you found the right number";
unset($_SESSION['numbers']);
unset($_SESSION['guesses']);
}
}
else
{
echo "Only write numbers";
}
}
else
{
echo "Write something";
}
}
}
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
Number: <input name="number" type="text" value="<?php echo isset($_GET['number']) ? $_GET['number'] : ''; ?>" /><br />
<input type="submit" value="Guess" />
<p>
<input type="button" value="New numbers" onclick="location.href='<?php echo $_SERVER['PHP_SELF']; ?>?action=new'" />
<input type="button" value="Choose difficulty level" onclick="location.href='<?php echo $_SERVER['PHP_SELF']; ?>?action=unset'" />
</p>
</form>

<?php }
?>


</body>
</html>
« Last Edit: October 01, 2008, 10:19:34 PM by clanx3 » Logged
Myles Grey
Full-Time Programmer
Super Authority member
******
Offline Offline

Posts: 1863


Programmer's Delight Release - 90%


WWW
« Reply #1 on: September 30, 2008, 11:56:03 PM »

Ah, a classic. Difficult though, it took me 25 guesses on easy and 86 on medium. I haven't tried hard yet. It doesn't even say a number between x-y.
Logged

IE has the best Quirks
Almost every site you see runs on Quirks, not standards




Remember to mark your topic as [resolved]
Pages: [1]   Go Up
Send this topic | Print
Jump to: