[php]
<?php if ($_GET['do'] == 'new') { $_SESSION['hangman_word'] = ''; $_SESSION['hangman_used_letters'] = ''; } $Buchstaben = array ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','Ä','Ö','Ü','ß'); if (isset($_GET['b'])) { $_SESSION['hangman_used_letters'] .= strtolower(rawurldecode($_GET['b'])).'-'; } $BenutzeBuchstaben = explode("-",$_SESSION['hangman_used_letters']); echo ''."\n"; foreach ($Buchstaben as $Buchstabe) { if (in_array(strtolower($Buchstabe),$BenutzeBuchstaben)) { echo ' '.$Buchstabe.''."\n"; } else { echo ' '.$Buchstabe.''."\n"; } } echo '
'."\n"; if (empty($_SESSION['hangman_word'])) { $WordsData = fopen("txt/hangman/Words.txt", "r"); $Word = fgetcsv($WordsData,1000); while ($Word) { $Words[] = $Word[0]; $Word = fgetcsv($WordsData,1000); } mt_srand ((double)microtime () * 1000000 ); $WordNr = mt_rand(0,count($Words)-1); $_SESSION['hangman_word'] = $Words[$WordNr]; } $Word = $_SESSION['hangman_word']; echo ''."\n"; for ($i = 0, $x = 0; $i < strlen($Word); $i++) { $AktuellerBuchstabe = substr($Word,$i,1); if (in_array(strtolower($AktuellerBuchstabe),$BenutzeBuchstaben)) { $x++; } else { unset($AktuellerBuchstabe); } echo ''."\n"; if ($x == strlen($Word)) $Gewonnen = true; } echo '
'."\n"; echo ''."\n"; echo 'Neues Spiel Starten'."\n"; echo '
'."\n"; ?>[/php]
Ich bin dabei Hangman zu programmieren. Jetzt brauche ich dazu die Funktion Strlen. Aber Strlen aus Umlauten und ß ergibt 2 statt 1. Dadurch funktioniert wahrscheinlich alles Nicht. Oder habe ich woanders einen Fehler den ich nicht erkenne?
Hoffe das ihr mir weiterhelfen könnt
[edit]
Umlautfreie Wörter funktionieren, Programm is halt noch nicht fertig, aber alle Felder werden ausgeüllt:
Christian Gollhardt: Die Webseite ⇒ Hangman