Steen, papier, schaar
Dit is een simpel steen papier schaar script.
Gesponsorde koppelingen
PHP script bestanden
24 reacties op 'Steen, papier, schaar'
Gesponsorde koppelingen
Zoals beloofd zou ik er nog even naar kijken. Nadat ik alles gekopieerd had naar mijn webserver kwam ik verschillende kleine foutjes tegen. Misschien handig om die er eerst uit te halen en het script iets minder uitgebreid te maken op een onnodige manier.
Je had beter de uitslag in variabelen kunnen zetten zodat je ze later in bijvoorbeeld een database kunt zetten...
Misschien een leuk voorbeeldje:
http://pastebin.com/6YcHrqTh
Ik zal hier vanmiddag een demo van online zetten!
Je had beter de uitslag in variabelen kunnen zetten zodat je ze later in bijvoorbeeld een database kunt zetten...
Misschien een leuk voorbeeldje:
http://pastebin.com/6YcHrqTh
Ik zal hier vanmiddag een demo van online zetten!
Opzich is uitgebreid wel leuk maar zoals je in mijn voorbeeld hebt gezien heb ik de uitslag in variabelen gezet zodat je het makkelijk in een query kunt verwerken.
Zo zou je het met database kunnen doen:
game.php http://pastebin.com/wapZeqKJ
db.php http://pastebin.com/tvQ86EH9
sql http://pastebin.com/NicGKrWx
Zo zou je het met database kunnen doen:
game.php http://pastebin.com/wapZeqKJ
db.php http://pastebin.com/tvQ86EH9
sql http://pastebin.com/NicGKrWx
Hopelijk is mijn commentaar duidelijk genoeg om de functie te begrijpen. Om de ' Computer / Tweede speler ' een keuze te laten maken kun je gewoon gebruiken. Voor als je maar met 1 echte persoon speelt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
/*---- INFO! ---->
Waar slaan de getallen op?
(0) = Steen.
(1) = Schaar.
(2) = Papier.
De functie spelen() is voor het bepalen van het resultaat tussen de door de twee spelers gemaakte keuzes.
Het resultaat is voor de eerste speler ten opzichte van de tweede speler.
(0) = Verloren.
(1) = Gewonnen.
(2) = Gelijk spel.
*/
function spelen($speler_1, $speler_2, $gewonnen = array(1, 2, 0)){
return ($speler_1 != $speler_2) ? ($gewonnen[$speler_1] == $speler_2) ? 1 : 0 : 2 ;
}
/*---- INFO! ---->
Onderstaande zou 1 moeten weergeven want een ' Steen ' wint het van de ' Schaar '.
*/
echo spelen(0, 1);
?>
/*---- INFO! ---->
Waar slaan de getallen op?
(0) = Steen.
(1) = Schaar.
(2) = Papier.
De functie spelen() is voor het bepalen van het resultaat tussen de door de twee spelers gemaakte keuzes.
Het resultaat is voor de eerste speler ten opzichte van de tweede speler.
(0) = Verloren.
(1) = Gewonnen.
(2) = Gelijk spel.
*/
function spelen($speler_1, $speler_2, $gewonnen = array(1, 2, 0)){
return ($speler_1 != $speler_2) ? ($gewonnen[$speler_1] == $speler_2) ? 1 : 0 : 2 ;
}
/*---- INFO! ---->
Onderstaande zou 1 moeten weergeven want een ' Steen ' wint het van de ' Schaar '.
*/
echo spelen(0, 1);
?>
Paar puntjes:
1: Notice: Undefined index: jij in C:\data\home\www\tests\test9.php on line 104
Notice: Undefined index: computer in C:\data\home\www\tests\test9.php on line 115
2: Als het geen steen-papier-schaar.php heet, start het spel met een 404 error.
3:
héhéhé ;D
1: Notice: Undefined index: jij in C:\data\home\www\tests\test9.php on line 104
Notice: Undefined index: computer in C:\data\home\www\tests\test9.php on line 115
2: Als het geen steen-papier-schaar.php heet, start het spel met een 404 error.
3:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
function verloren(){
$_SESSION['jij'] = $_SESSION['jij']+1;
$_SESSION['computer'] = $_SESSION['computer']-1;
echo '<span style='font-weight: bold; color: red; font-size: 16px;'>Jammer, de computer is gewonnen.</span>';
echo '<br />';
}
$_SESSION['jij'] = $_SESSION['jij']+1;
$_SESSION['computer'] = $_SESSION['computer']-1;
echo '<span style='font-weight: bold; color: red; font-size: 16px;'>Jammer, de computer is gewonnen.</span>';
echo '<br />';
}
héhéhé ;D
Ik zou de verwerking als volgt aanpakken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
if(isset($_POST['submit'])){
$mogelijkheden = array('Steen','Papier','Schaar');
$uitkomsten = array('<span style='color: red;'>Verloren</span>','<span style='color: green;'>Gewonnen</span>','<span style='color: black;'>Gelijkspel</span>');
$jij = $_POST['keuze'];
$computer = rand(0, 2);
?>
<strong>De computer had <?php echo $mogelijkheden[$computer];?> en jij had <?php echo $mogelijkheden[$jij];?></strong>
<br /><br />
<?php echo $uitkomsten[spelen($jij, $computer)]; ?>
<br /><br />
<a href='<?php echo $_SERVER['REQUEST_URI'];?>'>Speel nog eens!</a>
}
?>
if(isset($_POST['submit'])){
$mogelijkheden = array('Steen','Papier','Schaar');
$uitkomsten = array('<span style='color: red;'>Verloren</span>','<span style='color: green;'>Gewonnen</span>','<span style='color: black;'>Gelijkspel</span>');
$jij = $_POST['keuze'];
$computer = rand(0, 2);
?>
<strong>De computer had <?php echo $mogelijkheden[$computer];?> en jij had <?php echo $mogelijkheden[$jij];?></strong>
<br /><br />
<?php echo $uitkomsten[spelen($jij, $computer)]; ?>
<br /><br />
<a href='<?php echo $_SERVER['REQUEST_URI'];?>'>Speel nog eens!</a>
}
?>
Het kan nog kleiner:
<p> </p>
<form name='form1' method='post' action=''>
<p>
<input name='actie' type='radio' value='1'>
Steen
</p>
<p>
<input name='actie' type='radio' value='2'>
Papier </p>
<p>
<input name='actie' type='radio' value='3'>
Schaar
</p>
<p>
<input type='submit' name='Submit' value='Gok'>
</p>
</form>
MvG,
Stan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/*
*/
session_start();
$random = rand(1,3);
if ($_POST['actie'] == '1' && $random == '3') {
echo 'Je hebt gewonnen!';
$_SESSION['win'] = $_SESSION['win']+1;
}
elseif ($_POST['actie'] == '1' && $random == '2') {
echo 'Je hebt verloren!';
$_SESSION['verloren'] = $_SESSION['verloren']+1;
}
elseif ($_POST['actie'] == '2' && $random == '1') {
echo 'Je hebt gewonnen!';
$_SESSION['win'] = $_SESSION['win']+1;
}
elseif ($_POST['actie'] == '2' && $random == '3') {
echo 'Je hebt verloren!';
$_SESSION['verloren'] = $_SESSION['verloren']+1;
}
elseif ($_POST['actie'] == '3' && $random == '2') {
echo 'Je hebt gewonnen!';
$_SESSION['win'] = $_SESSION['win']+1;
}
elseif ($_POST['actie'] == '3' && $random == '1') {
echo 'Je hebt verloren!';
$_SESSION['verloren'] = $_SESSION['verloren']+1;
}
elseif ($_POST['actie'] == $random) {
echo 'Gelijkspel';
$_SESSION['gelijk'] = $_SESSION['gelijk']+1;
}
?>
/*
*/
session_start();
$random = rand(1,3);
if ($_POST['actie'] == '1' && $random == '3') {
echo 'Je hebt gewonnen!';
$_SESSION['win'] = $_SESSION['win']+1;
}
elseif ($_POST['actie'] == '1' && $random == '2') {
echo 'Je hebt verloren!';
$_SESSION['verloren'] = $_SESSION['verloren']+1;
}
elseif ($_POST['actie'] == '2' && $random == '1') {
echo 'Je hebt gewonnen!';
$_SESSION['win'] = $_SESSION['win']+1;
}
elseif ($_POST['actie'] == '2' && $random == '3') {
echo 'Je hebt verloren!';
$_SESSION['verloren'] = $_SESSION['verloren']+1;
}
elseif ($_POST['actie'] == '3' && $random == '2') {
echo 'Je hebt gewonnen!';
$_SESSION['win'] = $_SESSION['win']+1;
}
elseif ($_POST['actie'] == '3' && $random == '1') {
echo 'Je hebt verloren!';
$_SESSION['verloren'] = $_SESSION['verloren']+1;
}
elseif ($_POST['actie'] == $random) {
echo 'Gelijkspel';
$_SESSION['gelijk'] = $_SESSION['gelijk']+1;
}
?>
<p> </p>
<form name='form1' method='post' action=''>
<p>
<input name='actie' type='radio' value='1'>
Steen
</p>
<p>
<input name='actie' type='radio' value='2'>
Papier </p>
<p>
<input name='actie' type='radio' value='3'>
Schaar
</p>
<p>
<input type='submit' name='Submit' value='Gok'>
</p>
</form>
Code (php)
1
2
3
2
3
<?php
echo '<br><br>Statestieken<br>Gewonnen : '.$_SESSION['win'].'<br>Verloren : '.$_SESSION['verloren'].'<br>Gelijk : '.$_SESSION['gelijk'];
?>
echo '<br><br>Statestieken<br>Gewonnen : '.$_SESSION['win'].'<br>Verloren : '.$_SESSION['verloren'].'<br>Gelijk : '.$_SESSION['gelijk'];
?>
MvG,
Stan
Kan nog kleiner (en netter IMHO):
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8' />
<title></title>
</head>
<body>
<form action='#' method='post'>
<p><label for='waarde1'><input type='radio' name='actie' id='waarde1' value='1' /></label></p>
<p><label for='waarde2'><input type='radio' name='actie' id='waarde2' value='2' /></label></p>
<p><label for='waarde3'><input type='radio' name='actie' id='waarde3' value='3' /></label></p>
<p><input type='submit' value='Gok' /></p>
</form>
<p>Statistieken:</p>
<dl>
</dl>
</body>
</html>
Volgens mij moet de logica nog korter kunnen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$mogelijk = array(1=>3, 3=>2, 2=>1);
$melding = array('gelijk' => 'gelijkspel', 'win' => 'gewonnen', 'verloren' => 'verloren');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$waarde = $_POST['actie'] == $random ? 'gelijk' : $mogelijk[$_POST['actie']] == $rand ? 'win' : 'verloren';
$_SESSION[$waarde]++;
$blaat = 'Je hebt ' . $melding[$waarde] . '!';
}
?>
$melding = array('gelijk' => 'gelijkspel', 'win' => 'gewonnen', 'verloren' => 'verloren');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$waarde = $_POST['actie'] == $random ? 'gelijk' : $mogelijk[$_POST['actie']] == $rand ? 'win' : 'verloren';
$_SESSION[$waarde]++;
$blaat = 'Je hebt ' . $melding[$waarde] . '!';
}
?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8' />
<title></title>
</head>
<body>
<form action='#' method='post'>
<p><label for='waarde1'><input type='radio' name='actie' id='waarde1' value='1' /></label></p>
<p><label for='waarde2'><input type='radio' name='actie' id='waarde2' value='2' /></label></p>
<p><label for='waarde3'><input type='radio' name='actie' id='waarde3' value='3' /></label></p>
<p><input type='submit' value='Gok' /></p>
</form>
<p>Statistieken:</p>
<dl>
Code (php)
</dl>
</body>
</html>
Volgens mij moet de logica nog korter kunnen.
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
- Raoul -- 2 jaar geleden
- 2.430 x bekeken
- PHP scripts opties
- Overig
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu