7_Feedback gestalten
Nun sollte dein Applet so (oder so ähnlich) aussehen:
Allerdings könnte man die Rückmeldung abwechslungsreicher gestalten.
Die Rückmeldung "richtig" bzw. "falsch" wird für den Benutzer auf Dauer eintönig.
Motivierender könnte eine ständig wechselnde zufällige Rückmeldungen (mit der selben Aussage) sein.
Vorgehensweise:
Im Folgenden wird das Vorgehen für positive Rückmeldungen beschrieben - natürlich kann die Rückmeldung bei falschen Antworten analog gestaltet werden.
Definiere in der Algebra-Umgebung eine Liste mit kurzen motivierenden Rückmeldungen, z.B.
l1={"Weiter so!","Richtig!","Wunderbar!","Sehr gut!","Perfekt!","Gut gemacht!","Super, schon "+(correctCount+1)+" richtige Antwort/en!"}
Definiere in der Algebra-Umgebung außerdem einen Text feedback, der ein zufälliges Element aus der Liste von oben anzeigt:feedback=ZufälligesElement(l1)
Arbeitsauftrag - Prüfen-Button anpassen:
Wähle mit der rechten Maustaste die Einstellungen dieser Schaltfläche - wähle "Skripting" - "Bei Mausklick":
CODE zum Kopieren: var a = ggbApplet.getValue("a"); var correctCount = ggbApplet.getValue("correctCount"); var serie = ggbApplet.getValue("serie"); var feedback = ggbApplet.getValueString("feedback"); ggbApplet.evalCommand("attemptCount=attemptCount+1"); if (a==true) { alert(feedback); ggbApplet.setValue("correctCount",correctCount+1); ggbApplet.setFixed("Button1",true,false); ggbApplet.setFixed("Button2",true,true); ggbApplet.setColor("Button1",150,150,150); ggbApplet.setColor("Button2",0,100,0); ggbApplet.setValue("serie",0); } else { if (serie==2) { ggbApplet.setVisible("g",true); ggbApplet.setVisible("m_g",true); alert("Nun kannst du die Gerade mit den roten Punkten darstellen!"); } else { ggbApplet.evalCommand("serie=serie+1"); alert("Leider falsch - probiere es noch einmal!"); } }Vergiss nicht auf JavaScript umzustellen!
Den Code verstehen:
Zunächst überträgt der Befehl var feedback = ggbApplet.getValueString("feedback"); den Inhalt des Textes in die JavaScript-Umgebung.
Bei richtiger Antwort wird über alert(feedback); der aktuelle Text feedback ausgegeben.
Wenn anschließend eine neue Aufgabe erzeugt wird, muss man darauf achten, dass wieder ein zufälliges Element der Liste erzeugt wird. Dazu muss man den neueAufgabe-Button geringfügig anpassen.
Arbeitsauftrag - neueAufgabe-Button anpassen:
CODE zum Kopieren: ggbApplet.evalCommand("c=RandomBetween(-6,6)*0.5 \n m=RandomBetween(-8,8)*0.5"); ggbApplet.setFixed("Button1",true,true); ggbApplet.setFixed("Button2",true,false); ggbApplet.setColor("Button1",0,100,0); ggbApplet.setColor("Button2",150,150,150); ggbApplet.setVisible("g",false); ggbApplet.setVisible("m_g",false); ggbApplet.evalCommand("feedback=RandomElement(l1)");Vergiss nicht auf JavaScript umzustellen!
Den Code verstehen:
Der Befehl ggbApplet.evalCommand("feedback=RandomElement(l1)"); erzeugt ein (neues) zufälliges Element der Liste - dieser Eintrag ist nun wieder im Text feedback gespeichert und wird bei der Betätigung des Prüfen-Buttons wieder in die JavaScript-Umgebung übertragen.
Bemerkung:
Alle Zufallszahlen/-Elemente können auch durch einen einzigen Befehl ggbApplet.evalCommand("UpdateConstruction()"); neu geladen werden.