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:

Ansicht von 7 Antwort-Themen
  • Autor
    Beiträge
    • #2641
      Anonym

        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

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

            • #2653
              Anonym

                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

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

                • #2657
                  Klaus Major
                  Administrator

                    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

                      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.