Bonjour.
Je dois faire un jeu démineur en php.
J'ai fais les 3 premières fonctions :
Mais je bloque sur la fonction qui permettra de compter les mines autour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $tab = array(); function xyToz($size, $x, $y) { return $size * $x + $y; } function init($size, &$tab) { $nb_bomb = ($size * $size) / 5; for ($i = 0; $i < $nb_bomb; ) { $x = rand(0, $size - 1); $y = rand(0, $size - 1); if ($tab[xyToz($size, $x, $y)] === '*') continue; $tab[xyToz($size, $x, $y)] = '*'; $i++; } } function print_tab($size, $tab) { echo "__"; for ($index = 0; $index < $size; $index++) { echo "_"; } echo "\n"; for ($x = 0; $x < $size; $x++) { echo "|"; for ($y =0; $y < $size; $y++) { if ($tab[xyToz($size, $x, $y)] === '*') { echo "*"; } else { echo " "; } } echo "|\n"; } echo "__"; for ($index = 0; $index < $size; $index++) { echo "_"; } echo "\n"; }
Pour tester mes codes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 function NbMinesAutour($tab) { while ($tab[$x][$y] != '*'){ $n=0; if($tab[$x-1][$y-1] === true){ $n++; } else if ($tab[$x-1][$y] === true){ $n++; } else if ($tab[$x-1][$y+1] === true){ $n++; } else if ($tab[$x][$y-1] === true){ $n++; } else if ($tab[$x][$y+1] === true){ $n++; } else if ($tab[$x+1][$y-1] === true){ $n++; } else if ($tab[$x+1][$y] === true){ $n++; } else if ($tab[$x+1][$y+1] === true){ $n++; } } }
J'ai besoin de votre aide. Surtout pour la fonction NbMinesAutour. Des pistes si possible ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $size = 8; print_tab($size, $tab); init($size, $tab); print_tab($size, $tab); NbMinesAutour($tab);
Merci d'avance.







Répondre avec citation
Partager