Corvulus
Aktives Mitglied
PHP:
<?php
// Füllen des Feldes:
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= 9; $j++) {
$array[$i][$j] = 0;
}
}
// <- testweise mit nullen
for ($k = 1; $k <= 7; $k = $k + 3) {
$stop = $start + 2; //Unterscheidung in oben-links, mitte und unten-rechts.
for ($i = $start; $i <= $stop; $i++) {
for ($j = $start; $j <= $stop; $j++) { //Die beiden Hauptschleifen für das jeweilige 3x3 Feld.
$x = 0;
while ($x = 0) { //Es wird so lange eine Zufallszahl generiert, bis es eine noch nicht gibt. ($check "0" bleibt)
$zufall = rand (1, 9);
$check = 0;
for ($l = $start; $l <= $stop; $l++) {
for ($m = $start; $m <= $stop; $m++) { //Diese beiden schleifen gehen jedes Feld einmal durch...
if ($zufall == $feld[$l][$m]) $check = 1; //...Überprüfung des Feldes (im 3x3 Feld), ob diese Zufallszahl vorhanden ist.
}
}
if ($check == 0) { //Ist diese Bedingung wahr, dann wird...
$feld[$i][$j] = $zufall; //...das aktuelle Feld mit der Zufallszahl gefüllt...
$x = 1; //...und x auf 1 gestzt und die Schleife damit am Ende des Durchlaufs abbricht.
}
}
}
}
}
//Testausgabe
echo"<table>";
for ($i = 1; $i <= 9; $i++) {
echo "<tr>";
for ($j = 2; $j <= 10; $j++) {
echo "<td>";
echo $feld[$i][$j]; //Ausgabe in Tabelle
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
Ich weiß nicht, an welcher Stelle der Fehler liegt, bzw. warum das Array (feld[][]) nicht gefüllt wird. Habe schon einige Varianten und Änderungen in Sachen Ausgabe und Co. Probiert. Das Programm soll mal ein Sudoku Generator werden und füllt zur Zeit drei 3x3-Felder.
Gruß Corvulus