Variable mit Cards

Startseite Foren Deutsches LiveCode-Forum Variable mit Cards

Ansicht von 6 Antwort-Themen
  • Autor
    Beiträge
    • #17022
      Anonym

        Moin,
        ich brauche eine Variable, die z.B. 10 Cards beinhaltet.
        Wenn man von card1 auf card2 geht soll card1 entfernt werden. Wenn man von card2 auf card3 geht soll dann card2 entfernt werden. Und so weiter.

        Wenn dann beispielsweise card5 erreicht wird soll card1 wieder hinzugefügt werden. Das gleiche dann mit card6 und card2…

        Weiß nicht nach was man da suchen muss. Gerne auch andere Artikel verlinken.

        Danke schonmal

      • #17039
        Klaus Major
        Administrator

          Hi Test123,

          willkommen im Forum!

          Hm, Du könntest eine globale Variable nehmen z.B. ein Array und dessen Inhalt manipulieren bei der Navigation.

          Beispiel:

          global Das_Ding_mit_den_Karten
          
          on openstack
            put "Karte1" into Das_Ding_mit_den_Karten[1]
            put "Karte2" into Das_Ding_mit_den_Karten[2]
            put "Karte3" into Das_Ding_mit_den_Karten[3]
            put "Karte4" into Das_Ding_mit_den_Karten[4]
            put "Karte5" into Das_Ding_mit_den_Karten[5]
            put "Karte6" into Das_Ding_mit_den_Karten[6]
          end openstack

          Im Skipt der entsprechenden Karten:

          on opencard 
            ## Karte 1, Wert aus ARRAY löschen
            global Das_Ding_mit_den_Karten
            put "" into Das_Ding_mit_den_Karten[1]
          end opencard

          Im Skipt der entsprechenden Karten:

          on opencard 
             ## Karte 5
            global Das_Ding_mit_den_Karten
            put "Karte1" into Das_Ding_mit_den_Karten[1]
          end opencard

          Etc…
          So kannst Du an der Variablen sehen, was los ist.

          Gruß

          Klaus

        • #17041
          Klaus Major
          Administrator

            Aber vielleicht erklärst Du mal den Verwendungszweck dieser Variablen, das können wir sicher anders/effektiver/eleganter lösen.

          • #17498
            Anonym

              Hey Klaus Major,

              erst einmal Entschuldigung, dass ich mich so spät melde.

              Also ich versuche ein Spiel zu programmieren in dem man z.B. 10 Fragen hat. Jede Frage auf eine extra Seite.
              Man beginnt also zufällig mit einer der 10 Fragen. Das hab ich bisher so gelöst:
              `go to card (any item of “card1,card2,…”)
              Jetzt will ich aber, dass jedes mal nachdem man auf einer Seite war und auf eine neue kommt die alte gelöscht wird. Wenn man also beispielsweise auf Seite 1 ist und zufällig auf Seite 5 kommt, muss Seite 1 aus der Aufzählung “any item of” entfallen, damit die Seite nicht mehr darin vorkommt und man nicht gleich wieder auf Seite 1 kommen kann. Nachdem man ca. 5 Fragen durch hat, darf die erste Seite wieder mit im “Pool” sein. Also wenn Karte 1 am Anfang drankommt, danach herausgenommen wird und 5 weitere Fragen aufgerufen wurden soll sie wieder in der Aufzählung bei “any card of” erscheinen.
              Es soll also vermieden werden, dass eine Karte öfters nacheinander kommt, sie soll aber nicht gelöscht werden.

              Bin mir jetzt nicht sicher ob ich das oben richtig verstanden habe, aber ist damit gemeint, dass jede Karte seine eigene globale bekommt und diese entweder leer oder mit der Karte befüllt ist? Und dann bräuchte ich nur noch eine Random Funktion welche eine globale aussucht? Wenn ich das gerade so im Kopf durchgehe hätte ich aber vermutlich das Problem, dass man nicht festlegen kann wie lange die Karte draußen ist.

              Vielen Dank für den Lösungsansatz!
              Gruß

            • #17536
              Klaus Major
              Administrator

                Bin mir jetzt nicht sicher ob ich das oben richtig verstanden habe…

                Tröste Dich, ich bin auch nicht sicher, ob ich dein Problem richtig verstanden habe.

                …aber ist damit gemeint, dass jede Karte seine eigene globale bekommt und diese entweder leer oder mit der Karte befüllt ist?

                Nicht direkt, jede Karte bekommt einen eigenen Platz in EINER einzigen globalen Variable.

              • #17547
                Anonym

                  Ach so, also steht die 1 hinter Das_Ding_mit_den_Karten[1] z.B. für Platz eins in der Globale und so weiter.

                  Dann hätte ich jetzt nur noch ein Problem. Denn wenn man z.B. mit Karte 1 anfängt und danach die Karten 7,3,5,9 aufruft sind alle 5 Karten (1,7,3,5,9) aus der Globalen “raus”. Wenn man dann auf eine weitere Karte, z.B. Karte 2 kommt, müsste diese erkennen welche Karte als erstes entfernt wurde (in diesem Fall Karte 1) und diese wieder hinzufügen. Das diese jedoch “nachprüfen” kann welche Karte wann herausgenommen wurde, um diese wieder in die Globale einzufügen, scheint mir unmöglich.

                • #17550
                  Klaus Major
                  Administrator

                    Da hast Du Recht, das ist schon ein nicht triviales Problem!
                    Kann ich Dir so aus dem Stand auch nicht beantworten…

                    Ach so, also steht die 1 hinter Das_Ding_mit_den_Karten[1] z.B. für Platz eins in der Globale und so weiter.

                    So ungefähr, stell Dir eine einfache Variable als Schublade vor, in die Du etwas hineinsteckst.

                    Ein Array hingegen ist auch eine Variable, aber eher ein Schrank mit mehreren numerierten oder benannten Schubladen, aber immer noch EINE Variable.

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