Javascript via Adobe Captivate - Code für einen bedingten Befehl

  • Hey zusammen,


    ich baue aktuell ein Quiz zusammen und gerate nun an meinen Grenzen.

    In diesem Quiz soll der Benutzer in ein Textfeld eine Antwort eingeben, die von 0-100 lauten kann.

    Eine optimale Lösung soll hierbei ein Zahlenintervall von z.b 75-80 sein. Je stärker der Benutzer von dieser

    Antwort abweicht, desto weniger Punkte soll er für seine Antwort erhalten.

    Ich bin bislang an dem Punkt, dass ich den Benutzer mehrere richtige Lösung definieren kann, er allerdings

    für jede Lösung die selbe menge an Punkten bekommt.


    Weiss da jemand weiter?


    Liebe Grüße

    Chris


    p.s So sieht das aktuell bei mir aus:

    html-seminar.de/woltlab/attachment/1504/

  • ehrlich gesagt verstehe ich gar nix . Der benutzer kann einer Antwort twischen 0 - 100 geben.OK.

    Je weiter er von der 75 Abweicht um so schlimmer ist es .OK.



    So und nun?

    Was soll jetzt passieren?

    Wie viele fragen hast du?

    Also etwas mehr input wäre nicht schlecht und eine genau beschreibung wo bei du hilfe brauchst.


    Wenn du hast wäre ein Link zu der Page nicht schlecht.

    Oder wenn es noch nicht online ist dann wäre dein aktueller Code auch nicht schlecht wenn du den posten würdest

  • Hey basti,


    Okay, also die Frage steht auf einer Folie, die durch das Programm Adobe Captivate bearbeitet wird(ähnlich wie Powerpoint).

    Pro Folie existiert ein Feld, indem sie eine Antwort eingeben können.

    Adobe Captivate hat die Eigenschaft, dass es für ein Quiz vorgefertigte Funktionen gibt. Mit diesen kam ich bis zu den Punkt, dass die Benutzer

    die Zahl in das Feld einfügen und dann entweder 0 oder 100% der möglichen Punkte bekommen. Ich möchte allerdings, dass auch Teilpunkte erzielt werden

    können, je nachdem wie sehr sie von der vordefinierten perfekten Lösung abweichen.

    Im Adobe-Captivate Forum wurde ich darauf hingewiesen, dass dies mit JavaScript möglich sei. Leider besitze ich aber keine Programmierkenntnisse.


    Konkret benötige ich wohl einen Code, der die Zahlenintervalle in Korrelation mit der maximal erreichbaren Punkte minus den Abzug der Punkte im Bezug auf die Abweichung stellt. Kann gerne noch weitere Infos geben, falls benötigt.


    Liebe Grüße

    Chris

  • Diese Funktion sollte die Punktezahl berechnen, voraus gesetzt, ich habe dich richtig verstanden:

    Code
            function getScore(value) {
                var lowerLimit = 75, upperLimit = 80,
                    maxValue = 100; maxScore = 10;
                if (value < lowerLimit) factor = value / lowerLimit;
                else if (value > upperLimit) factor = (maxValue - value) / (maxValue - upperLimit);
                else factor = 1;
                return maxScore * factor;
            }

    Demo zum Testen:

  • Hey,


    großes Danke für die Mühe Sempervivum , ich glaube das dies bereits die Lösung ist, nur kriege ich es nicht hin diese in Captivate einzubetten.

    Ich habe ein kurzes Video gemacht, indem man hoffentlich die Problematik erkennen kann. Evtl. ist die Lösung von basti schon die richtige, nur in

    einer leicht umgeänderten Form (?)


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Lg

    Chris

  • Das Problem ist wohl, dass sich hier keiner mit diesem Captivate auskennt. Den Fenster für das Javascript hast Du ja schon gefunden. Du musst in der Doku nachlesen und heraus finden:

    1. Wie man die Antwort des Benutzers an Javascript übergibt und
    2. Wie man das Ergebnis, d. h. die Punkte, aus dem Javascript zurück an Captivate übergibt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!