eventhandler
anfänger
- javascript
Hallo,
ich habe folgende Funktion als Vorlage:
var len = 64, pos = 0;
function Roller()
{
var str = "";
for (var i=0; i<len; i++)
{
if (i == pos) str += "o";
else str += "_";
}
pos++;
window.status = str;
window.setTimeout("Roller()", 100);
return true;
}
Dazu habe ich folgende Fragen / Aufgaben, die ich nicht lösen kann:
1.)Warum sind die Variablen len und pos ausserhalb von Roller() definiert?
2.)Veranlassen Sie, dass der Ball am Ende der Bahn seine Richtung wechselt und umkehrt.
3)Stellen Sie an den Enden der Bahn zwei Waende "|" auf, an denen der Ball scheinbar abprallt.
Wäre super, wenn mir jemand helfen könnte!
Dazu habe ich folgende Fragen / Aufgaben, die ich nicht lösen kann:
Hört sich an wie Hausaufgaben, für die du eine fertige Lösung bekommen willst.
1.)Warum sind die Variablen len und pos ausserhalb von Roller() definiert?
Stichwort: globale vs. lokale Variablen.
2.)Veranlassen Sie, dass der Ball am Ende der Bahn seine Richtung wechselt und umkehrt.
Was hast du bisher versucht?
3)Stellen Sie an den Enden der Bahn zwei Waende "|" auf, an denen der Ball scheinbar abprallt.
Siehe 2.)
Gunnar
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
Daniel,
Wieviel nimmst du die Stunde, wenn du für andere die Hausaufgaben machst?
Und wieviel lernen die anderen dabei?
Gunnar
Hallo Gunnar!
Wenn Du dem link gefolgt wärst, den ich gepostet habe, hättest Du gesehen, dass es sich zumindest nicht um Schulhausaufgaben handelt, da die Übungen von einer Uniseite stammen.
Natürlich wäre es möglich, dass man die Übungen abgeben muss, um irgend einen Schein zu bekommen. Aber erstens glaube ich nicht, dass es für ein Bisschen Javascript und HTML irgendwo wichtige Scheine gibt und zweitens bekommt man die Lösung sowieso von irgendjemandem, wenn man das will.
Und lernen kann man aus meiner Antwort durchaus, wenn man das will, wovon ich in diesem Fall ausgehe.
Grüße
Daniel
Hallo,
was habe ich denn davon stundenlang davor zu sitzen und nicht auf die Lösung zu kommen (außer schlechter Laune und Demotivation)? Da hilft es mir wirklich mehr die Lösung vor mir zu sehen und sie nachvollziehen zu können! Es handelt sich auch um keine Hausaufgabe die abzugeben ist, ich bereite mich lediglich (freiwillig!) auf eine bevorstehende Prüfung vor. Der Tip von Daniel hat mir jedenfalls sehr weitergeholfen!Vielen Dank!
Hallo,
was habe ich denn davon stundenlang davor zu sitzen und nicht auf die Lösung zu kommen (außer schlechter Laune und Demotivation)? Da hilft es mir wirklich mehr die Lösung vor mir zu sehen und sie nachvollziehen zu können! Es handelt sich auch um keine Hausaufgabe die abzugeben ist, ich bereite mich lediglich (freiwillig!) auf eine bevorstehende Prüfung vor. Der Tip von Daniel hat mir jedenfalls sehr weitergeholfen!Vielen Dank!
Daniel,
Wieviel nimmst du die Stunde, wenn du für andere die Hausaufgaben machst?Und wieviel lernen die anderen dabei?
Gunnar