Zauberwürfel per Javascript erzeugen

... komplette Frage anzeigen

1 Antwort

Zu deinem Ansatz: http://www.gutefrage.net/frage/zauberwuerfel-per-javascript-erzeugen?#comment66645860

Erstmal fällt auf, dass du kein Quadrat hast:

var zeilenanzahl = 2;
...
var spaltenanzahl = 3;

Dann würde ich mich näher an der Verfahrensvorschrift halten und auf for-Schleifen zum Durchwandern des Arrays verzichten.

Startpunkt i=1, j=2 (von 0 an gezählt) Jetzt einfache for-Schleife für die Zahlen 1-9

for(iZahl=1; iZahl <= 9; iZahl++)
{
    // Jetzt das Bewegungsmuster implementieren
    a[i][j] = iZahl;
    i = (i+1) mod 3; // für mod musst du nach dem Modulo-Operator für JavaScript suchen
    j = (j+1) mod 3;
    if( a[i][j] != 0 ) // nicht vergessen, das Array mit 0-Werten zu initialisieren
    {
        // zurückgehen und zwei tiefer kann man auch in einem Schritt
        // für die Nachvollziehbarkeit hier in zwei Schritten
        // zurückgehen
        i = (i+2) mod 3; // +2 ist das Gleiche wie -1
        j = (j+2) mod 3; 
        // Jetzt zwei tiefer
        j = (j+2) mod 3;
    }
}

Auch wenn das nur so dahingeklatscht und ungetestet ist, hoffe ich, dass das Prinzip deutlich wird.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Suboptimierer
06.03.2014, 16:39

PS: zwei tiefer ist i = (i+2) mod 3; nicht j = (j+2) mod 3;

0

Was möchtest Du wissen?