Tutorials Infos - Anleitungen - Hilfe - Dreamcodes
 

Hangman

Ein Hangman (Galgenmaennchen) Spiel
Script:

 <?php
/**
* Galgenmaennchen (Hangman)
* =========================
*/

session_start();

$wordlist = array(

// Liste der möglichen Lösungsworte

 
'Hubschrauber',
 
'Reparaturwerkstatt',
 
'Affenbrotbaum',
 
'Hexensabbat',
 
'Tinktur',
 
'Kranwagen',
 
'Priesterweihe',
 
'Unterseeboot',
 
'
Dreamcodes',
 
'Computer',
 
'Fussballplatz',
 
'Autowerkstatt',
 
'Umtauschkasse',
 
'Umkleidekabine',
 
'Reisepass',
 
'Hundekuchen',
 
'Marmeladenbrot',
 
'Murmelbahn',
 
'Hausmeisterkittel',
 
'Katzenstreu',
 
'Katzenklo',
 
'Herzschrittmacher',
 
'Salzstreuer',
 
'Salatschleuder',
 
'Eckball',
 
'Fussballweltmeister',
 
'Spargelstecher',
 
'Tanzschule',
 
'Reisewecker',

);

$max_guess 5;

if (isset(
$_GET['new'])) {
    
session_destroy();
    unset(
$_SESSION);
    
session_start();
}

if (!isset(
$_SESSION['GUESSED'])) {
// Ein neues Spiel, Werte initialisieren ...
    
srand ((float) microtime() * 10000000);
    
$_SESSION['GUESSED'] = array();
    
$_SESSION['MOVES'] = 0;
    
$_SESSION['HITS'] = 0;
    
$_SESSION['WORD2GUESS'] = $wordlist[array_rand($wordlist)];
}




if (isset(
$_GET['c']) && $_SESSION['MISSED'] < $max_guess) {
// Ein Buchstabe wurde geraten ...
    
$_SESSION['GUESSED'][] = $_GET['c'];
    
$_SESSION['MOVES']++;
    if (
stristr($_SESSION['WORD2GUESS'], $_GET['c'])) {
        
$_SESSION['HITS']++;
    }
}


$_SESSION['MISSED'] = $_SESSION['MOVES'] - $_SESSION['HITS'];


/*
* Buchstabenliste zeichnen
*/

function get_alpha_navigation()
{
    
$stack '';
    
$tpl '<a href="'.$_SERVER['PHP_SELF'].'?c=%s">%s</a> ';
    for (
$i=65$i<91$i++){
        
$l chr($i);
        
$m sprintf ($tpl$l$l);
        if (
in_array($l,$_SESSION['GUESSED'])) {
            
$m $l.' ';
        }
        
$stack .= '<li>'.$m.'</li>';
    }
$result=<<< EOT
<ul id="navi">
$stack
</ul>
EOT;
    return 
$result;
}

function 
get_result()
{
    
$word $_SESSION['WORD2GUESS'];
    
$complete true;
    
$msg '';
    
$stack '';
    
$l strlen($word);
    for (
$i 0$i $l;$i++) {
        
$cmp strtoupper($word[$i]);
        if (
in_array($cmp$_SESSION['GUESSED'])) {
            
$stack .= "<li>{$word[$i]}</li> ";
        } else {
            
$complete false;
            
$stack .= '<li>_</li> ';
        }
    }
    if (
$complete) {
        
$msg '<h1>gewonnen</h1>';
    }
$rv = <<< EOT
$msg
<ul id="wordtoguess">
$stack
</ul>
EOT;

    return 
$rv;
}


$navi get_alpha_navigation();

$word get_result();

$msg '';

$count_down $max_guess $_SESSION['MISSED'];

if (
$_SESSION['MISSED'] >= $max_guess){
    
$msg '<h2>leider verloren</h2>';
$msg .= 'das gesuchte Wort war <em>'.$_SESSION['WORD2GUESS'].'</em>';
}
echo <<< EOT
<style type="text/css">

 #navi 
{
 list-style-image:none;
}


 #navi a
{
 text-decoration:none;
 font-weight:bold;
 color:#c00;
}

 #navi li
{
 border:1px solid #c00;
 padding:2px;
 background-color:#ffc;
 color:#ffc;
 float:left;
 width:18px;
 height:16px;
 list-style-type:none;
}

 #wordtoguess
{
 list-style-image:none;
 margin-top:60px;
 clear:left;
}
 #wordtoguess li
{
 border:1px solid #999;
 padding:2px;
 background-color:#D7FFD7;
 color:#000;
 float:left;
 width:22px;
 height:22px;
 list-style-type:none;
}


</style>

$navi

$word

<br style="clear:left;" />
<h4>Versuche gesamt:
{$_SESSION['MOVES']}verbleibend:$count_down</h4>
$msg
<a href="
{$_SERVER['PHP_SELF']}?new=1">Neues Spiel beginnen</a>
EOT;

?>

 
ID: 1514
eingestellt am: 05.11.2007
Autor: Na
Status zum lesen: Gast
gelesen: 6383
Webseite: www.dreamcodes.com
[Drucken]