Daniel Thoma: eventhandler

Beitrag lesen

Hallo Britta,

Wenn Du den Professor kennst, der diese Seite gemacht hat (http://www.fh-luh.de/~goessner/tut/tutor_09.html) kannst Du ihn ja mal fragen, warum er da so unnötig Englisch dazwischen mischt obwohl die Inhalte dann trozdem deutschsprachig sind.

1.)Warum sind die Variablen len und pos ausserhalb von Roller() definiert?

Die Variablen sollen ihre Werte über mehrere Funktionsaufrufe behalten. Wären sie lokal deklariert, würden sie das natürlich nicht.

2.)Veranlassen Sie, dass der Ball am Ende der Bahn seine Richtung wechselt und umkehrt.

Erkennen, dass der Ball am Ende der Bahn ist, kann man ja daran, dass pos == len oder pos == 0.
Man könnte also so etwas machen:

var len = 64, pos = 0, richtung = 1;

function Roller()
{
   var str = "";
   for (var i=0; i<len; i++)
   {
      if (i == pos) str += "o";
      else          str += "_";
   }
   pos += richtung;
   if(pos == 0 || pos == len) {
      richtung *= -1;
   }
   window.status = str;
   window.setTimeout("Roller()", 100);
   return true;
}

3)Stellen Sie an den Enden der Bahn zwei Waende "|" auf, an denen der Ball scheinbar abprallt.

Nachdem die for-Schleife durchlaufen ist, enthält str das aktuelle Bild. Man muss also nur noch vorn und hinten ein "|" hinzufügen. Das ist so einfach, dass ich mal keine Lösung angebe ;-)

Grüße

Daniel