Der Martin: Problem mit der Abfolge von Funktionen

Beitrag lesen

Moin,

mh, schade, dass es mir nicht gelungen zu sein scheint, mein Problem mit den Funktionen nachvollziehbar darzustellen. Ich versuche es noch einmal

das ist gut - aber leider nicht erfolgreich.

obgleich deine Art zu antworten und auf Fehler hinzuweisen recht demotivierend dahingehend ist. Zum Beispiel stellst du viele rhethorische Fragen deren Unter- bzw. Oberton meine Unzulänglichkeit im Umgang mit HTML ist. Die herauszustellen hättest du dir weder für mich noch für andere so viel Mühe machen müssen, da bin ich mir sicher.

Ich nicht, denn ich habe den Eindruck, dass du zumindest mit Javascript sehr ... ähm, unbeholfen bist und dass du nicht nur Schwierigkeiten mit einigen Merkmalen der Sprache an sich hast, sondern auch mit Grundkonzepten strukturierter Programmierung. Die durchnumerierten Funktionen, die im Prinzip alle dasselbe tun sollen, ist ein weiteres Indiz dafür. Erstens hätte man sie etwas günstiger benamsen können, so dass der Funktionsname etwas über den Zweck oder die Operation aussagt, zweitens ist einer der Hauptgründe für die Verwendung von Funktionen, dass man den gleichen Code eben *nicht* mehrfach schreiben muss, sondern ihm die Daten, die er manipulieren soll, als Parameter mitgibt.

Und wenn dein Javascript-Code zeigt, dass du offensichtlich rein numerische IDs im HTML hast, dann sehe ich es als meine Pflicht, dich auf diesem Fehler hinzuweisen.

Ich werd mich zudem zu 'globalen Variablen' belesen, von denen habe ich bisher lediglich eine ferne Ahnung.

Dafür verwendest du, wohl ohne dir dessen bewusst zu sein, ausschließlich globale Variablen.

Wie gesagt, dass Programm funktioniert, trotz des angesprochenen schlechten Stils.

Das will ich nicht bestreiten.

Dass ich nur einen Teil hier reingesetzt habe, liegt schlicht an meinem Wunsche, euch keine 278 Zeilen vorzusetzen. Tatsächlich hatte ich gehofft, auch in der Auswahl gerade den 'logischen Ablauf' ersichtlich gelassen zu haben.

Eben nicht. Du stellst zehn Funktionen vor, aber kein Stück, aus dem hervorgeht, in welcher zeitlichen oder logischen Abfolge sie aufgerufen werden. Und du schreibst ja selbst, dass es dir vorkommt, "als würde alles parallel ausgeführt". Das kann eigentlich nicht sein - aber gerade darum wäre es wichtig, den übergeordneten Code zu kennen, der diese Funktionen aufruft und damit den Grundablauf steuert.

Drückt man einen Knopf, zeigt f1 ein zufällig ausgewähltes Verb an. Dann gibt man in sieben input-Zeilen die spanischen Formen ein, drückt den Knopf erneut und f2 wird ausgelöst, ...

Wie? Wodurch?

woraufhin bis f8 der Reihe nach (so dachte ich zumindest) der Inhalt der input-Zeilen mit den richtigen Antworten verglichen wird. Stimmt ein Inhalt nicht, f10, c wird kleiner, stimmt er f9, c wird größer.

Schön, wie du das beschreibst. Aber wie genau ist es implementiert? Genau in dieser Logik scheint doch irgendwo der Hund begraben zu sein.

Mein Verständnis-Problem liegt nun darin, dass, wenn c zu Beginn (beim Auslösen von f2) null ist, es im Durchlauf (f2-f8) keine Rolle zu spielen scheint, wie es sich ändert, f10 wird nicht ausgelöst. Ja, du bemerkst richtig, dass ich in f10 die if-Klausel eingefügt hab, jedoch dachte ich, dass f2 bis f8 der Reihe nach ablaufen, ...

Wer sorgt überhaupt dafür, dass sie ablaufen? Wer ruft sie auf?

Ich fürchte, dass macht's kaum nachvollziehbarer. Sollte ich doch den ganzen Code abbilden?

Nein. Besser ein Online-Beispiel zeigen, das man austesten kann. Da kann man sich dann auch gezielt die Merkmale anschauen, die man für relevant hält.

Schönes Wochenende,
 Martin

--
Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.
  (alte Schülererkenntnis)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(