uschi: datei aus einer bestimmten gruppe per zufallsgenerator aufrufen

hallo,

ich bastele heftigst an einem latein-internetkurs. am wochenende habe ich eine ganze menge lückentextübungen geschrieben. jede steht in einer datei, die alle mit stf_blabla.html benannt sind. später sollen andere dateigruppen dazukommen, z.b. lauter stf2_blabla.htmls.

der übungsablauf spielt sich in zwei frames-system ab. im oberen frame läuft die übung selbst, unten gibt es knöpfchen für vorwärts, hilfe etc.

mein problem liegt bei vorwärts. die übungen einer gruppe sollen nicht jedesmal in der gleichen reihenfolge ablaufen.

ich weiß nicht, wo ich ansetzen soll. kann mir jemand helfen?

gruß, uschi

  1. der übungsablauf spielt sich in zwei frames-system ab. im oberen frame läuft die übung selbst, unten gibt es knöpfchen für vorwärts, hilfe etc.
    mein problem liegt bei vorwärts. die übungen einer gruppe sollen nicht jedesmal in der gleichen reihenfolge ablaufen.
    ich weiß nicht, wo ich ansetzen soll. kann mir jemand helfen?

    Aber es sollen sich keine Übungen wiederholen, sondern alle Übungen in einer zufälligen *Reihenfolge* ablaufen, nicht wahr?

    Dann würde ich für diese Reihenfolge einmal global eine Permutation auswürfeln (beim Laden des Frameset, dort ein array mit einem Feld pro Übung anlegen, und jeweils den Namen der entsprechenden Übungs-Datei eintragen).

    Das Auswürfeln funktioniert folgendermaßen:
    1. Alle Felder von 1 bis n mit Verweisen auf die Übungen von 1 bis n belegen (feld[1] = dokument1 etc.).
    2. for index von 1 bis n-1
      2a. tausch = würfeln [index, n]
      2b. Feldinhalte tauschen (index, tausch)
    Das bewirkt mit geringem Aufwand eine Permutation der einzelnen Elemente: Auf jede Position wandert eine beliebige der noch nicht zugeteilten Übungen, und jede mit derselben Wahrscheinlichkeit.

    Den Würfel gibt es hier: <../../tecg.htm#a22>.

    Um "vorwärts" ausführen zu können, muß der Frameset sich den Index der aktuellen Übung merken, damit er das "nächste" Dokument aus dem Array holen kann. (Sonderfall bei erstem bzw. letzten Element beachten!)

    Übersetzen in JavaScript kriegst Du selbst hin? (Tauschen mit Hilfsvariable!)

    1. Vielen Dank, Michael. Leider kriege ich die Umsetzung in JavaScript so wohl nicht hin. Aber ich muß erstmal nachdenken, was ich weiß und was ich nicht weiß. Irgendwie kann ich besser Latein als JavaScript :-).