Taschenrechner kann ich, aber mir fehlt etwas Input für:

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 5 Jahre von Anonym.
Ansicht von 7 Antwort-Themen
  • Autor
    Beiträge
    • #2641
      Anonym
      Inaktiv

      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.

    • #2643
      Torsten
      Teilnehmer

      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
    • #2645
      Torsten
      Teilnehmer

      Korrektur: gErgebnisDerAddition muss im Script auch als global definiert werden, sorry…

    • #2651
      Anonym
      Inaktiv

      danke für die schnelle antwort, ich werde mal versuchen, mich in deinen code reinzufuchsen 🙂

    • #2653
      Anonym
      Inaktiv

      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 mouseUp

      und 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 returnInField

      warum geht das nicht? Wo ist der Fehler?

    • #2655
      Anonym
      Inaktiv

      nachtrag: Der startbutton macht was er soll. gibt immer schön neue zahlen aus.

    • #2657
      Klaus Major
      Verwalter

      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

    • #2663
      Anonym
      Inaktiv

      Klaus Major danke hast recht jetzt funktioniert das

Ansicht von 7 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.