Highscore "andersrum"

  • GM 7

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

  • Highscore "andersrum"

    Hallo,

    Ich hab ein Spiel erstellt, dass wie Minigolf funktioniert, versch. Bahnen und die sind in versch. Level geteilt, jetzt möchte ich, dass nach dem 1. Level, bei mir grad 6 Bahnen, die gesamten Punkte zusammenzählt und in den Highscore einträgt, das bekomm ich alles hin, also braucht ihr mir nicht erklären.
    Aber mein Problem ist, dass es im Highscore ja immer die höchsten Punkte ganz oben einträgt, das soll es aber nicht. Es sollen die wenigsten Schläge oben eingetragen werden, ich hoffe, dass ihr mir helfen könnt.

    Danke,
    Gruß Stefan.
    Gruß Gamer
  • Mein Vorschlag wäre, das HighScore-Fenster außen vor zu lassen und die Variablen (Also Platzierung und Punktestand) im Spielfenster zu integrieren (frag mich nicht, wie die Variablen heißen). Dann würde ich die Punktevariable auf einen fixen Wert setzen und mit jedem Schlag um 1 reduzieren. In die Highscore werden die Punktestände also schonmal in der richtigen Reihenfolge angezeigt.
    Moment, lass mich kurz den GM anwerfen...

    Ach hier, haus der Hilfe:
    highscore_add(str,numb) Adds a player with name str and score numb to the list.
    highscore_value(place) Returns the score of the person on the given place (1-10). This can be used to draw your own highscore list.
    highscore_name(place) Returns the name of the person on the given place (1-10).


    Das sind die nötigen Befehle. Um den Spieler in die Highscore einzutragen, nimmst du highscore_add(spielername,schlaege). Spielername kannst du z.B. mit get_string erfragen (wobei mein Favorit die Verwendung des Keyboard_string ist). Zum anzeigen:

    GML-Quellcode

    1. draw_text(x,y,higscore_name(place)) //zeigt an x,y den Namen vom Spieler auf Platz place.
    2. draw_text(x,y,100-highscore_value(place)) //Zeigt die Anzahl der Schläge (wenn die vorher fix gesetzte Variable 100 ist, kann justiert werden)
  • Ok danke, nur ne Frage: Wieso soll sich er Wert immer um eins reduzieren bei jedem Schlag:
    Dann würde ich die Punktevariable auf einen fixen Wert setzen und mit jedem Schlag um 1 reduzieren. In die Highscore werden die Punktestände also schonmal in der richtigen Reihenfolge angezeigt.
    Gibt es auch ne Möglichkeit mit der normalen highscore_show funktion irgendwie???

    Gruß Stefan
    Gruß Gamer
  • Du könntest einfach die Punkteverteilung anders machen (z.B. ähnlich wie bei Golf).
    Du setzt eine gewisse Schlaganzahl fest, in der man den Ball versenken sollte. Falls der Spieler weniger Schläge benötigt, bekommt er Punkte (z.B. 1000 Punkte pro Schlag weniger) und wenn er zu viele Schläge benötigt ziehst du wieder Punkte ab. Formel könnte etwa so aussehen:

    GML-Quellcode

    1. score+=(par-anzahl_schlaege)*1000;

    par ist die Anzahl Schläge, die genau 0 Punkte gibt (weniger Schläge geben also Punkte)
    anzahl_schlaege ist die Anzahl Schläge, die der Spieler bis zum Einlochen gemacht hat.
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • Dürfte auch nicht so schwer sein, wenn du die Punkte schon ausm Original Highscore lesen kannst.
    Nur dann solltest du die Punkteverteilung halt so machen, dass du "Schlechtestes Ergebnis"-"Aktuelles Ergebnis" nimmst. dann ist es nämlich noch in der Reihenfolge.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • Schattenphoenix schrieb:

    Dürfte auch nicht so schwer sein, wenn du die Punkte schon ausm Original Highscore lesen kannst.
    Nur dann solltest du die Punkteverteilung halt so machen, dass du "Schlechtestes Ergebnis"-"Aktuelles Ergebnis" nimmst. dann ist es nämlich noch in der Reihenfolge.
    danke, aber das hab ich jetzt nicht so ganz verstanden.

    Und wie schreibt man so ein Script, hab das nur einmal für so ein Rechenprogramm gemacht, aber da musste ich einfach nur die argumente addierren, subtrahieren, multiplizieren und dividieren, wie schreibe ich einen Script für einen Highscore???
    Gruß Gamer
  • Du benutzt die normale Highscore Tabelle mit den Maximalschlägen minus die gebrauchten Schläge...
    Dann liesst du es mit den Funktionen aus, die oben jemand erwähnt hat und lässt es in einer Tabelle zeichnen.

    Die ganzen draw_funktionen sind in der Hilfe.
    Da gibt es draw_point, draw_line, draw_circle, draw_rectangle,draw_ellipse uvm.
    Schau es dir an, mit etwas Kreativität ist vieles machbar.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • aber möchte ja nicht dass es die Max. schläge minus die gebrauchten schläge anzeigt, sondern, dass es nur die gebrauchten schläge anzeigt, naja, ich überleg mal wie das so machbar ist... :?: :?: :?: :!: :!: :!: :?: :?: :?:

    Edit: Oder kann man es irgendwie machen, dass es die Anzahl Schläge im Highscore anzeigt, die Platzierung aber mit max. Schläge minus Anzahl Schläge errechnet wird??
    Gruß Gamer

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

  • Du würdest einfach Maxschläge minus gebrauchteSchläge in den Highscore eintragen und würdest die Werte auslesen um sie in deiner eigenen Highscoreliste zu Zeigen. Du könntest da dann ja wieder zurückrechnen.

    Die Methode empfehle ich dir, da der Highscore damit du nicht selber eine Highscoreliste proggen musst, sondern sie nur malen musst.
    Du kannst auch copys weg gehen und dir von vorn herein eine selber proggen, dann solltest du in der Hilfe mal nach ds_list suchen.
    Das kann man meines wissens nach aber nur in externen Datein speichern, das ist anfällig für Schummler.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet