Von Glücksspielen und Variablen

  • Ich verstehe Variablen nicht, das meiste an der Software (MZ) ist denkbar einfach, aber ich finde kein gutes deutschsprachiges Tutorial zu den Variablen und das müsste es für mein Verständnis definitiv sein.

    Ich möchte eigentlich etwas recht einfaches nämlich einen Zufallsgenerator. Sobald der Spieler eine Münze zahlt soll gemäß einer prozentualen Wahrscheinlichkeit eines von drei Ereignissen stattfinden. Diese werden dann in der Regel ein Text und ein eventueller Gewinn sein. Also Z.b. 60%=Text+Nix, 30% =Text+2Münzen hinzu und 10%=Text+3Münzen hinzu, nur mal so pauschal. Diese Art des Zufallsereignisses möchte ich bei vielen Dingen nutzen, die ARz und Funktion bleiben aber immer gleich. Für den Anfang wäre es eben so ein Glücksspiel.

    Könnte mir jemand verraten wie ich ein solches wie oben beschrieben bastle?

    Für eine Anleitung wäre ich immens Dankbar, optimaler Weise eine die nicht davon ausgeht das ich bereits irgendetwas von Variablen verstehe und die ich als der Bauer der ich nun einmal bin auch verstehe ^^

  • Wie du das Glücksspiel machst, kann ich dir zwar jetzt nicht so direkt erklären. Ich will aber mal versuchen, die Funktionsweise einer Variablen an sich zu erläutern. Mit denen habe ich mich am Anfang auch schwer getan.


    Rein grundsätzlich erhalten Variablen immer einen Zahlenwert.

    Wie auch bei Schaltern, so kannst du Variablen einen Namen geben.


    Folgendes Beispiel:

    Dein Charakter befindet sich in einem Raum mit 10 NPCs. Mit 5 NPCs soll er reden, damit die Story voranschreitet.

    In das Event mit der Gesprächsoption fügtst du nun die Variable 0001 ein und nennst sie "Mit Leuten gesprochen". Dann klickst du bei "Operation" auf "Hinzf." (Hinzufügen), und unter "Operand" bei "Konstante" gibst du eine "1" ein. Das machst du bei allen 10 NPCs.


    Damit passiert Folgendes: Immer, wenn du mit einem NPC sprichst, wird dem Wert, den die Variable "Mit Leuten gesprochen" hat, der Wert 1 hinzuaddiert (Bei 0 fängt sie immer an.). Wenn du mit 5 Leuten gesprochen hast, hat sie den Wert 5 erreicht.


    Du erstellst noch ein weiteres Event. In meinem Beispiel gibt dieses Event den Text aus "Die Story geht weiter!" Auslöser: "Autorun". Bei "Beding." wählst du deine Variable 0001 "Mit Leuten gesprochen" aus und gibst als Wert "5" ein.

    Damit wird dieses Event aktiviert, sobald du mit 5 NPCs gesprochen hast, denn dann hat die Variable den Wert 5 erreicht und die Bedingung ist erfüllt.


    Ich hoffe, das war so weit erst einmal verständlich.

    Von dieser Basis ausgehend, kannst du mit Variablen verschiedenste Sachen machen, indem du Zahlenwerte zur Variable addierst, subtrahierst,... oder auch einfach auf einen bestimmten Wert festlegst.



    Und jetzt, um es mit den Worten des besten Raumschiffcaptains aller Zeiten zu sagen: "Machen Sie es so!" ;)

  • Mal von einer anderen Seite an die Sache herangehend, denn manchmal sieht man den Wald vor lauter Bäumen nicht:


    Die besten deutschsprachigen Tutorials zu Variablen findest Du in Schulbüchern.

    In der Mathematik werden üblicherweise x und y als Variablen genutzt, je nach Schule ab achte oder neunte Klasse oder so (zu lange her für mich das ich es genau sagen könnte).

    Aber die Prinzipien sind genau identisch, Du kannst bei der Programmierung nur hunderte von Variablen für viel mehr Funktionen nutzen als die zwei oder drei, mit denen die mittleren Klassen in Mathematik üblicherweise arbeiten.

    Aber das ist auch der Grund, weshalb das meiste im "Control Variable" Befehl nichts als Mathematik ist.

  • Erstmal herzlich willkommen im Forum und frohe Festtage!

    Ich bin selber noch ziemlich neu hier, aber freue mich und lerne natürlich auch dazu, wenn ich helfen kann.


    Da ich nicht weiß wie gut du dich auskennst, habe ich dir Screenshots von meinem Event angehängt. In das Event habe ich Kommentare eingefügt, welche erklären wo die Funktionen zu finden sind. Diese brauchst du natürlich nicht übernehmen.

    Ansonsten werde ich mal versuchen die Variablen zu erklären.


    Wenn der Spieler sich entscheidet das Glücksspiel zu spielen, und er genügend Gold hat, wird erst einmal eine Variable gesteuert. Ich habe sie Glücksspiel genannt (Du kannst auch Variable 0001 oder eine andere so benennen und nutzen)


    Die Operation wird auf Einstellen, eingestellt. Den Operanten stellst du auf Zufällig 1 - 10.
    So wird die Variable, bei Abfrage, auf einen zufälligen Wert zwischen diesen Zahlen eingestellt.


    Dann musst du nur noch über die bedingte Verzweigung abfragen, welchen Wert die Variable bekommen hat.
    -> Ist sie gleich oder kleiner als 6? (60%)

    -> Ist sie gleich oder kleiner als 9, aber gleich oder größer als 7? (30%)

    -> Oder ist sie gleich 10?(10%)

    Alles weitere hier:



    Ich hoffe, ich konnte helfen.

    Liebe Grüße :)

  • Vielen Dank, jetzt hab ichs Verstanden, danke das du dir die Mühe gemacht hast ^^

  • Ich muss da aber noch was dazu sagen. Die Zufallszahlen sind rein virtuell und deshalb nicht wirklich zufällig. Wer sich mit Informatik auskennt, kennt auch das Problem. deshalb ist es ratsam, dass du Mehrere Zufallsvariablen miteinander verbindest, sie addierts und durch die Anzahl der Variablen teilst.

    das verringert die Chance auf wiederholende Pattern in den Zufallszahlen; bei mir war das so schlimm, dass sich die Pattern ab jeder fünften Runde wiederholt haben.

  • Ich muss da aber noch was dazu sagen. Die Zufallszahlen sind rein virtuell und deshalb nicht wirklich zufällig. Wer sich mit Informatik auskennt, kennt auch das Problem. deshalb ist es ratsam, dass du Mehrere Zufallsvariablen miteinander verbindest, sie addierts und durch die Anzahl der Variablen teilst.

    das verringert die Chance auf wiederholende Pattern in den Zufallszahlen; bei mir war das so schlimm, dass sich die Pattern ab jeder fünften Runde wiederholt haben.

    Wie habe ich mir das vorzustellen? Ich kenne mich nämlich nicht mit Informatik aus ^^

    Ist damit gemeint das sich die Ergebnisse in einer gewissen Reihenfolge immer wiederholen?

    Wie Schlimm wären die Auswirkungen?

  • Ich muss da aber noch was dazu sagen. Die Zufallszahlen sind rein virtuell und deshalb nicht wirklich zufällig. Wer sich mit Informatik auskennt, kennt auch das Problem. deshalb ist es ratsam, dass du Mehrere Zufallsvariablen miteinander verbindest, sie addierts und durch die Anzahl der Variablen teilst.

    das verringert die Chance auf wiederholende Pattern in den Zufallszahlen; bei mir war das so schlimm, dass sich die Pattern ab jeder fünften Runde wiederholt haben.

    Wie habe ich mir das vorzustellen? Ich kenne mich nämlich nicht mit Informatik aus ^^

    Ist damit gemeint das sich die Ergebnisse in einer gewissen Reihenfolge immer wiederholen?

    Wie Schlimm wären die Auswirkungen?

    Was er meint ist dass der zufallsgenerator nicht so zufällig ist im maker, also wenn du variable 1-10 nimmst... bsp.
    weil dann mehrmals sich wiederholende zahlen kommen, z.b. kommt 3x hintereinander die 2 usw... und wenn dich dass nicht stört, dann ist dass auch ok aber wenn du es noch zufälliger haben willst, dann haust

    du mehrere mathematische formeln rein die alles noch zufälliger machen.

    Dass würde wie moons es meint so aussehen:

  • Ist damit gemeint das sich die Ergebnisse in einer gewissen Reihenfolge immer wiederholen?

    ja und nein.


    Es gibt keine echten Zufallszahlen im computer, aber die normalerweise benutzten Formeln sind so komplex, das das menschliche Gehirn die Folge nicht erkennen kann.


    Das ist der Grund, weshalb einige Spiele für Zufallskarten ein "Seed" erlauben, üblicherweise eine 10-stellige Nummer oder so.

    Der Zufall aller Formeln hängt von der Startnummer ab, d.h. wenn man dasselbe Seed eingibt dann kommt immer dieselbe Karte heraus.

    Unterschiedliche Seeds haben aber unterschiedliche Zufallsfolgen als Ergebnis, und niemand kann sich 9.999.999.999 verschiedene Zufallsfolgen merken - und das müsste man wenn ein unbekanntes Seed benutzt wird.