Abfrage und Einschränkung mehrerer Variablen

  • Win

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Abfrage und Einschränkung mehrerer Variablen

    Hallo zusammen, ich bin fast am verzweifeln.

    folgende Ausgangslage:

    global.aaa =0

    global.bbb = 2

    global.ccc =23

    Die Werte sind nur Beispiele.

    Nun zu meinem Problem : global.aaa soll aus den anderen beiden erstellt werden. z.B. "global.aaa = global.bbb * global.ccc".

    Allerdings soll es Einschränkungen geben. Ein global.bbb kann max. 10 global.ccc zu global.aaa umwandeln. Soll heissen das Ergebnis an diesem Beispiel wäre "global.aaa=20".

    Ich hoffe ich habe mich nicht zu umständlich ausgedrückt.
  • Ich denk mir mal das würde so funktionieren.

    GML-Quellcode

    1. global.aaa = global.bbb * min(global.bbb*10, global.ccc);


    Edit:
    min liefert dir den kleinsten Wert der Argumente.
    In deinem Beispiel wäre global.bbb*10 = 20 und global.ccc = 23. Durch das min() wird dir der Wert 20 zurückgegeben.
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Hmmm, vielen Dank schonmal für seine Antwort.

    Irgendwie klappt das aber noch nicht. Solange global.bbb =1 klappt es, sobal global.bbb =2 passt es nicht mehr, dann bekomme ich für global.bbb = 40.

    Hast Du eine Idee woran das liegen kann???



    Edit: Jetzt habe ich das Problem an deiner Formel gefunden. Solange global.ccc über 10 ist, geht das. sobal der Wert global.ccc aber unter 10 ist, klappt es nicht mehr.

    Beispiel:

    global.aaa =0

    global.bbb = 2

    global.ccc =9

    das Ergebnis ergibt leider global.aaa ergibt leider "18", sollte aber "9" sein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mhvox ()

  • Ich weiß jetzt nicht genau was deine Formel bewirken soll.

    also global.aaa soll global.ccc sein, aber nicht höher also global.bbb*10 oder?
    Dann müsstest du es so schreiben.

    GML-Quellcode

    1. global.aaa = min(global.bbb*10, global.ccc);
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Benutzer online 1

    1 Besucher