Per Zufallszahl mischen

Hallo Freunde,
ich habe ein kleines Dominospiel geschrieben. Es funktioniert! - ABER
die unteren 2 Reihen mit Spielsteinen sollten vor Spielbeginn gemischt werden und nicht bei jedem Start in der gleichen Reihenfolge angezeigt werden. Wer kann helfen?

Hier der Quellcode:

Domino
//Dominospiel mit 8 Dominosteinen Betaversion 1.0
var zustand = 1; //aktueller Spielzustand - Anzahl gelegter Dominosteine
var zuege = 0; //Anzahl der Spielerzüge
var leer = „grafik/leer.gif“; //hier liegt kein Dominostein
var frage = „grafik/frage.gif“; //hier wird angezeigt, wo der nächste Dominostein hingelegt werden soll

//zunächst werden alle Spielsteine in einem Array aufgeführt
dominostein = new Array(„0“, „grafik/stein1.gif“, „grafik/stein2.gif“, „grafik/stein3.gif“, „grafik/stein4.gif“, „grafik/stein5.gif“, „grafik/stein6.gif“, „grafik/stein7.gif“, „grafik/stein8.gif“);

//JS_Frage ist das Regal mit den Schubladen, in denen die aktuellen Spielsteine für die oberen Dominoreihen gelegt werden
//zu Spielbeginn wird 1 Stein aufgelegt, dann folgt das Fragezeichen, die anderen Plätze sind leer
JS_Frage = new Array(leer, dominostein[1], frage, leer, leer, leer, leer, leer, leer);

//JS_Frage ist das Regal mit den Schubladen, in denen die aktuellen Spielsteine, die der Spieler noch legen darf (= untere Dominoreihen) gelegt werden
JS_Antwort = new Array(leer, dominostein[2], dominostein[3], dominostein[4], dominostein[5], dominostein[6], dominostein[7], dominostein[8], leer);

function testen(nr){
zuege=zuege+1; //zählt die Züge des Spielers
if (nr==(zustand+1)) {
JS_Antwort[zustand]=leer; //Stein aus unterer Dominoreihe wegnehmen
zustand=zustand+1;
JS_Frage[zustand]=dominostein[zustand]; //Stein in obere Dominoreihe legen
JS_Frage[zustand+1]=frage; //Position Fragezeichen weiterschieben
}
if (nr!=zustand) {
alert(„Welcher Stein kommt an die Position des Fragezeichens?“);
}
BildschirmAktualisieren()
if (zustand==8) {
alert(„S p i t z e \nDu hast es in " + zuege + " Zügen geschafft!!!“)
}
}

function BildschirmAktualisieren(){
document.images[„Frage1“].src=JS_Frage[1];
document.images[„Frage2“].src=JS_Frage[2];
document.images[„Frage3“].src=JS_Frage[3];
document.images[„Frage4“].src=JS_Frage[4];
document.images[„Frage5“].src=JS_Frage[5];
document.images[„Frage6“].src=JS_Frage[6];
document.images[„Frage7“].src=JS_Frage[7];
document.images[„Frage8“].src=JS_Frage[8];
document.images[„Antwort1“].src=JS_Antwort[1];
document.images[„Antwort2“].src=JS_Antwort[2];
document.images[„Antwort3“].src=JS_Antwort[3];
document.images[„Antwort4“].src=JS_Antwort[4];
document.images[„Antwort5“].src=JS_Antwort[5];
document.images[„Antwort6“].src=JS_Antwort[6];
document.images[„Antwort7“].src=JS_Antwort[7];
document.images[„Antwort8“].src=JS_Antwort[8];
}

=====================================================

Hier mein Versuch, der nicht funktioniert:

Antwortsteine = new Array(’<td><img onClick=„javascript:testen(7)“ src=„grafik/leer.gif“ name=„Antwort6“></td>’,
‚<td><img onClick=„javascript:testen(4)“ src=„grafik/leer.gif“ name=„Antwort3“></td>‘,
‚<td><img onClick=„javascript:testen(8)“ src=„grafik/leer.gif“ name=„Antwort7“></td>‘,
‚<td><img onClick=„javascript:testen(5)“ src=„grafik/leer.gif“ name=„Antwort4“></td>‘,
‚<td><img onClick=„javascript:testen(2)“ src=„grafik/leer.gif“ name=„Antwort1“></td>‘,
‚<td><img onClick=„javascript:testen(6)“ src=„grafik/leer.gif“ name=„Antwort5“></td>‘,
‚<td><img onClick=„javascript:testen(3)“ src=„grafik/leer.gif“ name=„Antwort2“></td>‘);
for (i=0; i<=6:wink: {
document.write(Antwortsteine[i]);
}

=====================================================
Vielleicht weiß jemand Rat. Das wäre super.

Liebe Grüße
Hans-Jürgen

also sprich der Bilderarray soll gemischelt werden.
Siehe hier: http://brain4.de/programmierecke/js/arrayShuffle.php

Das hilft dir bestimmt.

Gruß Sebastian

Hallo Sebastian,
Danke für deine Antwort. Leider hilft sie nicht wirklich.

Du schreibst:
>also sprich der Bilderarray soll gemischelt werden.

Genau das soll nicht passieren! Aufgabe des Dominos ist es, die Steine in vorgegebener Reihenfolge wieder herzustellen. Mischen des Domino-Arrays wäre tödlich.
Es soll jedoch die Position der Steine zu Spielbeginn gemischt werden - ohne natürlich die Knoten (name) durcheinanderzubringen.

Liebe Grüße
Hans-Jürgen

Hallo Sebastian, hallo Leute,

ich habe es jetzt einmal mit folgender Routine versucht:

Position = new Array(„0“, „1“, „2“, „3“, „4“, „5“, „6“, „7“, „8“)
var z=x;
for (i=1; i ‚);
if (Position[i]==„2“) document.write(‘’);
if (Position[i]==„3“) document.write(’’);
if (Position[i]==„4“) document.write(’’);
if (Position[i]==„5“) document.write(’’);
if (Position[i]==„6“) document.write(’’);
if (Position[i]==„7“) document.write(’’);
if (i==4) document.write(’’);
}


Dies hatte zur Folge, dass der Browser sich aufhängt. Wahrscheinlich kann man keine Knoten (name) auf diese Art setzen.
Das gleiche fatale Ergebnis habe ich erzielt, wenn ich den onClick-Befehl in ein Array setze und darüber mit document.write in html setze.
So ein Mist.

Viele Grüße
Hans-Jürgen

Hallo Hans-Jürgen.

Habe dir per Mail geantwortet.

Gruß Sebastian

Hallo Sebastian,
vielen Dank. Die Zusammenarbeit hat ja super über Ländergrenzen hinweg geklappt.
Es war auch interessant, das Programm TeamViewer zu testen.

Weiterhin viel Erfolg.

Hans-Jürgen