Wert speichern und Durchschnitt errechnen

  • GM 7

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

  • Wert speichern und Durchschnitt errechnen

    Mach halt grad ein Minigolf-Spiel und da soll es bei jeder Bahn die Schlaganzahl speichern und den durchschnitt davon errechnen und dann soll es das anzeigen wenn die Bahn gespielt wird.
    Wie mache ich das? Und muss ich da dann für jede Bahn ne neue Variable benutzen oder kann ich da irgendwie eine Variable benutzen.
    Gruß Gamer
  • Ok danke
    und ja, das ist mir klar mit dem Durchschnitt, aber ich möchte ja nicht immer eine neue Variable benutzen, sondern wenn man die Bahn fertig gespielt hat, dann speicherts den Score und zeigt den Durchschnitt an, das nächste Mal wenn man die Bahn spielt, dann ist der Score zu beginn wieder auf 0 und wenn die Bahn fertig ist, speicherts den Score und errechnet aus allen vorherigen zusammen den neuen Durchschnitt.

    Bsp:
    Ich spiel die Bahn und hab ne 4, dann zeigts beim Durchschnitt 4.
    Beim nächsten Mal spielen hab ich ne 6, das speicherts wieder und der Durchschnitt zeigt 5
    Das nächste mal hab ich ne 2, das speicherts wieder und der Durchschnitt zeigt 4 an.

    Aber eig. wäre es besser wenn es einfach nur immer den gesamten Wert speichert, also wäre das hier bei dem beispiel jetzt 12 und es speichert wie oft die Bahn zu Ende gespielt wurde, das wäre im Beispiel 3, so kann man auch den Durchschnutt errechnen.

    Wie mache ich das?


    edit: ich versteh das mit den arrays nicht, die Hilfe spuckt ja nicht sonderlich viel dazu aus.
    Gruß Gamer
  • um den durchscnitt zu errechnen bracuhst du eine zählvariable die zählt wie oft gespielt wurde und eine variable die die summe zählt.

    brauchst also pro bahn 2 variablen.

    nun stelle dir vor du nennst die variablen a und b

    dann hast du für bahn 1: a1 b1

    dann fpr bahn 2: a2 b2

    dann a3/b3 a4/b4 .... usw

    lästige nummerierung oder?

    dafür nimmsd du den array. (heißt datenfeld)

    das kann einen index haben!

    statt a1 a2 a3 schreibst du a[1] a[2] a[3] ...

    eine andere variable spiegelt den index wiederm, den die bahn hat.

    zB die variable c ist bei bahn 1 = 1, bei bahn 2=2...

    usw dann schreibst du nur noch a[code=c]

    und hast somit die selbe routine bei jeder bahn (gute anwendungsmöglichkeit fürn execute script oder?)

    das is übrigend nur ein eindimensionales datenfeld, du kannsd auch solche arrays machen:

    a[1,7] aber das brauchst du hier nicht, man kann auch beliebig viele indices nehmen , zumindest bei gscheiten entwicklungsumgebungen, gm ist da leider sehr begrenzt
  • ja, so einigermaßen wie der des speichert, hab ich verstanden, aber der Durchschnitt soll ja für jede Bahn einzeln errechnet werden und speichert ein Array auch, wenn man das Spiel wieder schließt, weil sonst würde es ja gar nicht damit gehen.
    Also ich versteh trotzdem net ganz, wie man da so ein Code damit schreibt.
    Gruß Gamer
  • ok, danke, aber zu den arrays nochmal, kann die nochmal jemand erklären, da ich das nicht blick, hab auch schon ein kleines Tutorial dazu angeschaut, aber verstehs trotzdem nicht richtig.
    Oder gibts vllt ein Tut extra für Arrays?
    Gruß Gamer
  • Ein Array ist ein Speicher für mehrere verschiedene Werte. Dabei greift man auf einen Wert in
    diesem Array zu, indem man den Namen des Arrays und den Index, d.h. die Position des gewünschten
    Wertes angibt (dieser Index sollte dann aber auch existieren, sonst gibts eine Fehlermeldung).
    Als Praxisbeispiel:

    GML-Quellcode

    1. arrayname[x]=wert;

    x ist der Index des gewünschten Teilelements, er wird immer in eckige Klammern gefasst.
    Ansonsten kannst du mit Arrays genauso wie mit normalen Variablen umgehen, also var, globalvar, global.
    und alles mögliche darauf anwenden.
    Gruß, Spellmaker
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Benutzer online 1

    1 Besucher