THE WORLD OF JAVASCRIPTS

turm-sp

/--Zurück--\ /--Seite drucken--\

Java Script

Turmspiel
Ein Spiel für die Langeweile...
Ziel des Spiels: Du musst den Stapel der Scheiben auf einen anderen Pfahl zu bringen. Es dürfen nur kleine Scheiben auf grösseren liegen. Es kann keine grössere Scheibe auf einer kleineren liegen!



" + "Disks: "); } function draw(x,y,name) { document.images["pos"+x+""+y].src = imgdir + name; } function animate(x,y,name) { theAnim.addFrame( "pos"+x+""+y, imgdir + name); } function clicked(i,j) { document.disp.message.focus(); // get rid of annoying outline in MSIE document.disp.message.blur(); if (game_is_over) restart(startpost = endpost); if (!isselection() && ispost(i,j)) { message("Wähle eine Scheibe."); return; } if (!ispost(i,j)) { toggle(j); return; }; if (ispost(i,j) && selectedc == j) { message("Lege die Scheibe auf einen Pfahl."); return; } if (!legalmove(j)) { message("Illegaler Zug, die grössten Scheiben müssen immer unten liegen."); return; } move(j); return; } function legalmove(j) { if (isempty(j)) return true; return (board[j][topmost(j)] < board[selectedc][selectedr]); } function isselection() { return selectedc != null; } function toggle( num ) { var toppos = topmost(num); if (selectedc == num && selectedr == toppos) { selectedc = null; selectedr = null; animate(num,toppos,"dirfm" + board[num][toppos] + ".gif"); message("Wähle eine Scheibe."); return; } if (isselection()) { animate(selectedc,selectedr,"dirfm" + board[selectedc][selectedr] + ".gif"); } selectedc = num; selectedr = toppos; animate(num,toppos,"dirfm" + board[num][toppos] + "h.gif"); message("Klicke auf einen Pfahl, auf den die Scheibe gelegt werden soll."); } function move( num ) { var toppos = (!isempty(num) ? topmost(num) : board[num].length); board[num][toppos-1] = board[selectedc][selectedr]; board[selectedc][selectedr] = 0; animate(selectedc,selectedr,"postrfm.gif"); animate(num,toppos-1,"dirfm" + board[num][toppos-1] + ".gif"); selectedc = null; selectedr = null; message("Wähle eine Scheibe."); game_over(); } function hanoi(no_of_disks, start_post, goal_post) { if (no_of_disks > 0) { var free_post = all_posts - start_post - goal_post; hanoi (no_of_disks - 1, start_post, free_post); show_messages = true; toggle(start_post); move(goal_post); show_messages = false; hanoi (no_of_disks - 1 , free_post, goal_post); game_over(true); } } function game_over(forceMsg) { var filledpost = null; var val = 0; for (k = 0; k < board.length; k++) { val += ( isempty(k) ? 1 : 0 ); if (!isempty(k)) filledpost = k; } if (val == 2 && isempty(startpost)) { message("Du hast gewonnen!", forceMsg); game_is_over = true; endpost = filledpost; } return game_is_over; } // // Animation functions // function Animation() { this.imageNum = new Array(); // Array of indicies document.images to be changed this.imageSrc = new Array(); // Array of new srcs for imageNum array this.frameIndex = 0; // the frame to play next this.alreadyPlaying = false; // semaphore to ensure we play smoothly this.getFrameCount = getframecount; // the total numebr of frame so far this.moreFrames = moreframes; // tells us if there are more frames to play this.addFrame = addframe; // add a frame to the animation this.drawNextFrame = drawnextframe; // draws the next frame this.startAnimation = startanimation; // start the animation if necessary } function getframecount() { return this.imageNum.length; } function moreframes() { return this.frameIndex < this.getFrameCount(); } function startanimation() { if (!this.alreadyPlaying) { theAnim.alreadyPlaying = true; setTimeout('theAnim.drawNextFrame()',5); } } function addframe(num, src) { var theIndex = theAnim.imageNum.length; theAnim.imageSrc[theIndex] = src; theAnim.imageNum[theIndex] = num; theAnim.startAnimation(); } function drawnextframe() { if (theAnim.moreFrames()) { document.images[ theAnim.imageNum[theAnim.frameIndex] ].src = theAnim.imageSrc[theAnim.frameIndex]; theAnim.frameIndex++; setTimeout('theAnim.drawNextFrame()', 30); } else { theAnim.alreadyPlaying = false; } } drawboard(); var theAnim = new Animation(); message("Versuche den Stapel Scheiben auf einen anderen Pfahl zu legen."); document.disp.message.value = ""; // End -->

Um den Script zu kopieren:
Wenn ihr einen Fehler in diesem Script findet, meldet dies doch bitte über das Kontaktformular! Danke!


-------------Vorschau-------------




==>> Hier eine Andere Vorschau
 
63987 Besucher (287693 Hits)
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden