Startseite › Foren › Deutsches LiveCode-Forum › Taschenrechner kann ich, aber mir fehlt etwas Input für:
- Dieses Thema hat 7 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 10 Monaten von Anonym.
-
AutorBeiträge
-
-
November 7, 2017 um 19:30 Uhr #2641Anonym
Moin Leute, was geht ab? Ich brauche mal etwas Hilfe bei der Codierung meines Miniminiprogramms.
Was ich bisher erreicht habe: Dass ich zwei Zufallszahlen automatisch (random50) addiere. Die Sache ist die, dass ich möchte, dass nicht das Programm diese Zahlen ausrechnet, sondern der User. In einem Extrafeld. Also Zahl1 + Zahl2 = Ergebnis.
Ich würde gerne beide Wege von Folgenden draufhaben: 1: Der User gibt die Lösung in das Feld Ergebnis ein und und bekommt ne Nachricht, sofern die Zahl richtig ist und es startet erneut mit neuen Zufallszahlen.
Weg 2: Ich möchte gerne, dass die Nachricht, die anzeigt, ob die Lösung richtig oder falsch ist, erst nach einem Druck auf die Entertaste angezeigt wird. (Gibts nen Befehlsunterschied für Android, windows bei Enter?). Auch gern mit einem Extrabutton als Enter dafür.
Und im Endeffeckt, dass nach etwa 20 (variierbar) Aufgaben das Programm beendet wird und Glückwunsch oder so ausspuckt.
Könnt ihr mir dabei helfen?
Im Buch bin erst bei Kapitel 6 oder 7 bei der Lottomaschine. -
November 7, 2017 um 20:29 Uhr #2643
Moin!
Wenn ich richtig verstanden habe, dann zeigst Du die beiden Zufallszahlen in verschiedenen Feldern an und hast auch die Summe der béiden bereits berechnet.
Ich sehe gerade noch keinen Unterschied zwischen den ersten und dem zweiten Weg, da du bei Weg 1 auch irgendwie entscheiden musst, wann der User fertig ist.
Wie Du schon erwähnst, gibt es mindestens zwei Wege:
1. Der User gibt die Zahl in ein Feld ein und drückt als Anschluss Enter. In diesem Fall sollte das Script des Eingabefeldes den Handler “ReturnInField” enthalten, der dann z.B. folgendes Script enthält:
on ReturnInField if field "usereingabe" = gErgebnisDerAddition then answer "Richtig!" else answer "Falsch!" end if end returnInField
2. Der User gibt die Zahl in das Feld ein und drückt den Button “Auswertung”. Dann steht das obige Script im Button:
on mouseUp if field "usereingabe" = gErgebnisDerAddition then answer "Richtig!" else answer "Falsch!" end if end mouseUp
3. Die Anzahl der Durchgänge wird in einer globalen Variable gezählt, die diesen Wert mit den erwünschten Wert der Wiederholungen vergleicht. Dann würde in den Scripten am Ende einfach der Zähler hochgesetzt und entsprechend verglichen:
add 1 to gZaehler if gZaehler >= gAnzahlDurchlauefe then answer "Das war's, dankeschön" quit end if
Also komplett als Beispiel für den Button:
on mouseUp global gZaehler, gAnzahlDurchlauefe -- beide Variablen müssen als global definiert werden, damit sie über das konkrete Script hinaus ihre Werte behalten, sonst funktioniert's nicht if field "usereingabe" = gErgebnisDerAddition then answer "Richtig!" else answer "Falsch!" end if add 1 to gZaehler if gZaehler >= gAnzahlDurchlauefe then answer "Das war's, dankeschön" quit end if end mouseUp
-
November 7, 2017 um 20:40 Uhr #2645
Korrektur: gErgebnisDerAddition muss im Script auch als global definiert werden, sorry…
-
November 8, 2017 um 09:24 Uhr #2651Anonym
danke für die schnelle antwort, ich werde mal versuchen, mich in deinen code reinzufuchsen 🙂
-
November 8, 2017 um 10:28 Uhr #2653Anonym
ok folgendes: Auch wenn das Ergebnis richtig ist, er antwortet immer mit falsch. Ich geb dir mal meinen Code vlt findest du ja den Fehler.
Erst mal ich habe einige Buttons. Ich schreib mal aus wie die heießen: ZiffernA Plus ZiffernB Gleichheitszeichen Ergebnis. Und dann noch den Startbutton, den ich halt Start nannte.
So für den Button Start hab ich jetzt folgenden Code:
global Zusammengezogen
on mouseUp
put empty into field “ZiffernA”
put empty into field “ZiffernB”
put empty into field “Ergebnis”
put random(50) into field “ZiffernA”
put random(50) into field “ZiffernB”
put “ZiffernA” and “ZiffernB” into Zusammengezogen
end mouseUpund für den Button Ergebnis, wo der User das Ergebnis eintragen und Enter drücken soll, hab ich diesen Code:
global Zusammengezogen
on ReturnInField
if field “Ergebnis” = Zusammengezogen then
answer “Richtig!”
else
answer “Falsch!”
end if
end returnInFieldwarum geht das nicht? Wo ist der Fehler?
-
November 8, 2017 um 10:29 Uhr #2655Anonym
nachtrag: Der startbutton macht was er soll. gibt immer schön neue zahlen aus.
-
November 8, 2017 um 10:37 Uhr #2657
Hier hapert es ein wenig:
... put random(50) into field "ZiffernA" put random(50) into field "ZiffernB" ## Hier versuchtst Du, die STRINGS "ZiffernA" und "ZiffernB" zu addieren, ## mit sehr mäßigem Erfolg! 8-) ## put "ZiffernA" and "ZiffernB" into Zusammengezogen # So geht's, mit dem >Inhalt der Felder dieses Namens sowie dem PLUS Zeichen: put fld "ZiffernA" + fld "ZiffernB" into Zusammengezogen ...
Gruß
Klaus
-
November 8, 2017 um 13:50 Uhr #2663Anonym
Klaus Major danke hast recht jetzt funktioniert das
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.