// ----- Angleichungen fuer die Parameter var BildAnzahl = BildListe.length; var loaded = 0; var TempListe = new Array(BildAnzahl); var zielfeld = false; var xvon = 0; var yvon = 0; var xnach=2; var ynach=2; var hilf=0; var ausgabe=true; var zugnr=0; var startzeit=new Date(); var jetztzeit=new Date(); var zeita = startzeit.getTime() /1000; var zeite = jetztzeit.getTime() / 1000; var zeitdif=Math.floor(zeite-zeita); // Pruefen ob die Angaben in der BildListe mit den Spalten und zeilen uebereinstimmt if (BildAnzahl != (Spalten * Zeilen)) { alert("Die Anzahl der Spalten und Zeilen stimmt nicht mit der Anzahl der Bilder in der BildListe ueberein!"); } // ----- Funktionen // SpielAnleitung function Anleitung(){ var winanl; winanl=window.open("","Spielanleitung","width=300,height=210,resizable=yes"); winanl.document.write("Spielanleitung - Tauschpuzzle
");
winanl.document.write("Das Puzzle soll durch paarweisen Austausch von Teilen gelöst werden. ");
winanl.document.write("Das erste Teil wird durch einfachen Mausclick ausgewählt. ");
winanl.document.write("Das zweite Teil durch den nächsten einfachen Mausclick. ");
winanl.document.write("Darauf folgt unmittelbar der Austausch.
");
winanl.document.write("Viel Spaß
");
winanl.document.bgColor="#00FFFF";
}
// Initialisierung des Puzzles
function Laden() {
loaded = 1;
NeuStart();
}
// Karten Tauschen
// Tauschpositionen festlegen
function Tausche(xpos,ypos){
if (zielfeld == false){
xvon =xpos;
yvon=ypos;
zielfeld=true;
if (positionenausgeben == true){
if (ausgabe == true){
win.document.write(" tausche ("+xvon+"| "+yvon+") ");
}
}
}
else{
xnach=xpos;
ynach=ypos;
zielfeld=false;
if (positionenausgeben == true){
if (ausgabe == true){
win.document.write("und ("+xnach+"|"+ynach+")
");
}
}
window.document.images[(yvon-1)*Spalten+xvon-1].src = TempListe[(ynach-1)*Spalten+xnach-1];
window.document.images[(ynach-1)*Spalten+xnach-1].src =TempListe[(yvon-1)*Spalten+xvon-1];
hilf=TempListe[(yvon-1)*Spalten+xvon-1];
TempListe[(yvon-1)*Spalten+xvon-1]=TempListe[(ynach-1)*Spalten+xnach-1];
TempListe[(ynach-1)*Spalten+xnach-1]=hilf;
if (ausgabe == true){
if (ZugZeigen == true){
zugnr=zugnr+1;
document.ZugAnzeige.ZugZaehler.value=zugnr;
}
}
}
}
// Die BildListe in die temporaere Liste kopieren
function ZurueckSetzen() {
for (var i = 0; i < BildAnzahl; i++) {
TempListe[i] = BildListe[i];
}
}
// Zeit anzeigen
function ZeitAnzeigen(){
jetztzeit=new Date();
zeite=jetztzeit.getTime() / 1000;
zeitdif=Math.floor(zeite-zeita);
document.ZugAnzeige.SpielZeit.value=zeitdif;
window.setTimeout('ZeitAnzeigen()',500);
}
// Neustart-Routine
function NeuStart() {
// Laden der Bildliste in die Dokumentbilder
for (var i = 0; i < BildAnzahl; i++){
document.images[i].src = BildListe[i];
TempListe[i] = BildListe[i];
}
if (ZeitZeigen == true){
startzeit=new Date();
zeita=startzeit.getTime() / 1000;
zeitdif=0;
document.ZugAnzeige.SpielZeit.value=zeitdif;
window.setTimeout('ZeitAnzeigen()',500);
}
if (ZugZeigen == true){
zugnr=0;
document.ZugAnzeige.ZugZaehler.value=zugnr;
}
}
ZurueckSetzen();
function Mischen() {
// Abbruch, wenn das Spiel nicht geladen wurde
if (loaded == 0) {
return;
}
ausgabe=false;
for (var MischVorgang = 0; MischVorgang < MaxMischen ; MischVorgang++) {
xpos = (random (Spalten)) + 1;
ypos= (random(Zeilen))+1;
Tausche (xpos, ypos);
xpos = (random (Spalten)) + 1;
ypos= (random(Zeilen))+1;
Tausche (xpos, ypos);
}
if (ZeitZeigen == true){
startzeit=new Date();
zeita=startzeit.getTime() / 1000;
zeitdif=0;
document.ZugAnzeige.SpielZeit.value=zeitdif;
window.setTimeout('ZeitAnzeigen()',500);
}
if (ZugZeigen == true){
zugnr=0;
document.ZugAnzeige.ZugZaehler.value=zugnr;
}
ausgabe=true;
}
function ZugZeitAnzeige(){
document.write('