probleem met galgje
ik heb een probleempje met het spel galgje dat ik aan het maken ben.
het lukt niet/ ik weet niet hoe je kan zorgen dat er een letter wordt gedisplayed als je hem goed hebt geraden en een puntje als je nog niet hebt geraden
dit is de code
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
session_start();
if(isset($_SESSION["woord"])) //als woord is gegenereed
{
$letterswoord = $_SESSION['woord'];
}
else //woord genereren
{
$woord = array("vakantie", "kabeltje", "colaglas", "ijscoupe", "xylofoon", "computer", "lijnbaan", "literair", "onlogica", "stopbord"); //woord genereren
$randomwoord = array_rand($woord, 1); //kies random woord
$letterswoord = str_split($woord[$randomwoord]); //woord in karkaters splitsen
$_SESSION["woord"] = $letterswoord;
echo "$letterswoord";
echo "banaan";
}
if(isset($_POST["letter"]) && isset($_POST["voerin"]))
{
if (isset($_SESSION['foutgeraden'])) //eerder fout geraden letters
{
$foutgeraden = $_SESSION['foutgeraden'];
echo "$foutgeraden";
}
else
{
$foutgeraden = 0;
}
if (isset($_SESSION['geradenletters']))
{
$eerdergeraden = $_SESSION['geradenletters'];
foreach($eerdergeraden as $geradenletters)
{
echo "$geradenletters <br />";
}
while($volgendeletter = current($letterswoord))
{
if(in_array($volgendeletter, $geradenletters))
{
$pos = key($letterswoord);
$goedeletter = $letterswoord[$pos];
echo "$goedeletter"
}
else
{
echo ".";
}
next($array);
}
}
else
{
$eerdergeraden = "";
}
$letter = $_POST['letter'];
$eerdergeraden[] = $letter;
$_SESSION['geradenletters'] = $eerdergeraden;
if (in_array($letter, $letterswoord))
{
echo "goed geraden!";
}
else
{
echo "jammer, dat is fout.";
$foutgeraden = $foutgeraden + 1;
$_SESSION['foutgeraden'] = $foutgeraden;
}
switch($foutgeraden)
{
case 0: echo '<img src="" />';
break;
case 1: break; //plaatje toevoegen
case 2: break;
case 3: break;
case 4: break;
case 5: break;
case 6: break;
case 7: break;
case 8: echo '<img src="" />';
echo 'game over';
session_destroy();
break;
}
}
else
{
echo "kies een letter en druk op voer in!";
}
?>
session_start();
if(isset($_SESSION["woord"])) //als woord is gegenereed
{
$letterswoord = $_SESSION['woord'];
}
else //woord genereren
{
$woord = array("vakantie", "kabeltje", "colaglas", "ijscoupe", "xylofoon", "computer", "lijnbaan", "literair", "onlogica", "stopbord"); //woord genereren
$randomwoord = array_rand($woord, 1); //kies random woord
$letterswoord = str_split($woord[$randomwoord]); //woord in karkaters splitsen
$_SESSION["woord"] = $letterswoord;
echo "$letterswoord";
echo "banaan";
}
if(isset($_POST["letter"]) && isset($_POST["voerin"]))
{
if (isset($_SESSION['foutgeraden'])) //eerder fout geraden letters
{
$foutgeraden = $_SESSION['foutgeraden'];
echo "$foutgeraden";
}
else
{
$foutgeraden = 0;
}
if (isset($_SESSION['geradenletters']))
{
$eerdergeraden = $_SESSION['geradenletters'];
foreach($eerdergeraden as $geradenletters)
{
echo "$geradenletters <br />";
}
while($volgendeletter = current($letterswoord))
{
if(in_array($volgendeletter, $geradenletters))
{
$pos = key($letterswoord);
$goedeletter = $letterswoord[$pos];
echo "$goedeletter"
}
else
{
echo ".";
}
next($array);
}
}
else
{
$eerdergeraden = "";
}
$letter = $_POST['letter'];
$eerdergeraden[] = $letter;
$_SESSION['geradenletters'] = $eerdergeraden;
if (in_array($letter, $letterswoord))
{
echo "goed geraden!";
}
else
{
echo "jammer, dat is fout.";
$foutgeraden = $foutgeraden + 1;
$_SESSION['foutgeraden'] = $foutgeraden;
}
switch($foutgeraden)
{
case 0: echo '<img src="" />';
break;
case 1: break; //plaatje toevoegen
case 2: break;
case 3: break;
case 4: break;
case 5: break;
case 6: break;
case 7: break;
case 8: echo '<img src="" />';
echo 'game over';
session_destroy();
break;
}
}
else
{
echo "kies een letter en druk op voer in!";
}
?>
ikw eet dat het hier en daar nog slordig is, maar wil graag eerst dit probleempje oplossen
probleem zit m in regel 37 t/m 48. krijg deze meldingen:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in galgje.php on line 38
.
Warning: next() [function.next]: Passed variable is not an array or object in galgje.php on line 47
Gewijzigd op 22/06/2011 16:40:02 door Marijn Struijlaart
$geradenletters is dus blijkbaar geen array?
@Nick Dijkstra; achter $geradenletters[] hoeft geen [].