Highscore ohne Table - soll so wie bei Flappy Bird sein

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

  • Ich weiß nicht, wie Du die Werte gespeichert hast, aber im Prinzip würde ich so vorgehen. Du brauchst zwei Variablen, einmal den höchsten Wert, nennen wir die Variable scoreBest, und den aktuellen Wert, scoreCurrent. Wenn das Spiel vorbei ist, prüfst Du, ob der aktuelle Wert höher ist als der beste Wert,

    GML-Quellcode

    1. if (scoreCurrent > scoreBest)
    2. {
    3. scoreBest = scoreCurrent;
    4. }


    Im Draw-Event zeigst Du dann nur noch beide Werte an. Um anzuzeigen, dass der Spieler den Bestwert aufgestellt hat, brauchst Du noch eine Variable. Zum Beispiel: scoreNewHighscore. In der Abfrage stellst Du die dann noch auf true und ebenfalls im Draw-Event fragst Du ab, ob der Wert true ist und zeigst entsprechend den Sprite an.
    Jetzt CYPEST spielen. Zeig, was Du drauf hast. :thumbsup:
    Byte GameMaker Magazin
    - Die online Zeitung für Spieleenwicklung, Freeware und mehr!
  • the_black_wall schrieb:

    Ich weiß nicht, wie Du die Werte gespeichert hast, aber im Prinzip würde ich so vorgehen. Du brauchst zwei Variablen, einmal den höchsten Wert, nennen wir die Variable scoreBest, und den aktuellen Wert, scoreCurrent. Wenn das Spiel vorbei ist, prüfst Du, ob der aktuelle Wert höher ist als der beste Wert,

    GML-Quellcode

    1. if (scoreCurrent > scoreBest)
    2. {
    3. scoreBest = scoreCurrent;
    4. }




    Wie definiere ich Highscore? Highscore = 0;?
  • Du kannst die Funktionen von GMS nehmen, in dem Fall, wenn es nur zwei Werte sind, würde ich nur eigene Variablen nehmen und es so machen, wie ich es oben beschrieben habe.
    Jetzt CYPEST spielen. Zeig, was Du drauf hast. :thumbsup:
    Byte GameMaker Magazin
    - Die online Zeitung für Spieleenwicklung, Freeware und mehr!
  • Kernkraftwerk ohne Transformator - soll so wie in Cattenom sein -2
    Frage steht oben, soll ausserdem nicht explodieren.

    Ich bin kein Moderator hier, aber wenn ich einer wäre würde ich dir auf die Finger klopfen, aus mehreren Gründen:
    - Du erstellst zwei Threads zur selben Fragestellung (dazu mehr gleich), bewusst und absichtlich den zweiten obwohl Du den ersten schon hast.
    - Deine Frage besteht aus der hingesauten Kurzformel im Titel, was btw keine Frage ist sondern ein mehr oder weniger vollständiger Satz.
    - Du gehst anscheinend stillschweigend davon aus dass wir hier Gedanken lesen können und genau wissen wie Du dir den Flappy Bird Highsore vorstellst, bzw. was dir daran wichtig ist. Kleiner ProTipp: Es gibt Leute die haben Flappy Bird noch nie gespielt oder gesehen. Und selbst die es kennen werden jetzt nicht aufspringen um nachzusehen wie genau es da gemacht ist, denn da fehlt der nächste und wichtigste Punkt:
    - worin besteht genau deine Eigenleistung? Es ist legitim um Hilfe zu bitten wenn man mal wo nicht weiter weiß, aber man sollte doch bitte erst mal selbst nachdenken, versuchen, und diese Versuche samt ausführlicher Fehlerbeschreibung als Grundlage nehmen. Hier hat nämlich wohl eher niemand Lust kostenlos für dich zu arbeiten.

    Deine Fragestellung ist (quer durch alle Threads die Du bislang hier erstellt hast) also als absolut suboptimal zu betrachten.
    Wenn Du hier ernsthaft Hilfe haben willst, tritt bitte erst in Vorleistung:
    -Formulier konkrete Fragen (in vollständigen Sätzen).
    -Beschreib was Du bislang versucht hast und liefere Code mit.
    -Teste das was andere dir geantwortet haben selbst aus, wenn es noch nicht deinen Vorstellungen entspricht, versuche erst den Code anzupassen und erläutere ggf. dann was der Code anders macht als Du wolltest und was du versucht hast um ihn anzupassen.

    Dann wird nämlich ein Miteinander aus der Chose und es macht auch Spass zu helfen.

    In diesem Sinne.
  • BladeRunner schrieb:

    Kernkraftwerk ohne Transformator - soll so wie in Cattenom sein -2
    Frage steht oben, soll ausserdem nicht explodieren.

    Ich bin kein Moderator hier, aber wenn ich einer wäre würde ich dir auf die Finger klopfen, aus mehreren Gründen:
    - Du erstellst zwei Threads zur selben Fragestellung (dazu mehr gleich), bewusst und absichtlich den zweiten obwohl Du den ersten schon hast.
    - Deine Frage besteht aus der hingesauten Kurzformel im Titel, was btw keine Frage ist sondern ein mehr oder weniger vollständiger Satz.
    - Du gehst anscheinend stillschweigend davon aus dass wir hier Gedanken lesen können und genau wissen wie Du dir den Flappy Bird Highsore vorstellst, bzw. was dir daran wichtig ist. Kleiner ProTipp: Es gibt Leute die haben Flappy Bird noch nie gespielt oder gesehen. Und selbst die es kennen werden jetzt nicht aufspringen um nachzusehen wie genau es da gemacht ist, denn da fehlt der nächste und wichtigste Punkt:
    - worin besteht genau deine Eigenleistung? Es ist legitim um Hilfe zu bitten wenn man mal wo nicht weiter weiß, aber man sollte doch bitte erst mal selbst nachdenken, versuchen, und diese Versuche samt ausführlicher Fehlerbeschreibung als Grundlage nehmen. Hier hat nämlich wohl eher niemand Lust kostenlos für dich zu arbeiten.

    Deine Fragestellung ist (quer durch alle Threads die Du bislang hier erstellt hast) also als absolut suboptimal zu betrachten.
    Wenn Du hier ernsthaft Hilfe haben willst, tritt bitte erst in Vorleistung:
    -Formulier konkrete Fragen (in vollständigen Sätzen).
    -Beschreib was Du bislang versucht hast und liefere Code mit.
    -Teste das was andere dir geantwortet haben selbst aus, wenn es noch nicht deinen Vorstellungen entspricht, versuche erst den Code anzupassen und erläutere ggf. dann was der Code anders macht als Du wolltest und was du versucht hast um ihn anzupassen.

    Dann wird nämlich ein Miteinander aus der Chose und es macht auch Spass zu helfen.

    In diesem Sinne.


    So da ich deine Argumentation für sehr schwach halte und nicht sehr einleuchtend ist, versuch ich dich jetzt mal ein bisschen zu kritisieren:

    1. Dadurch, dass du keine Hilfe auf diesem Thread bist, hast du erstens keine Berechtigung mir irgendetwas mitzuteilen. Falls du dies machen willst beschwere dich bitte beim Moderator, sodass er das mit mir klären kann.
    2. Es hat dich nicht zu kümmern wie viele Threads ich erstelle, dies sollte mir ein Moderator sagen und nicht Du.
    3. Ich definiere meinen Titel so, dass andere Leute, welche sich mit dem Thema auseinandersetzen, helfen können und welche (wie z.B. Du) die hier nichts zu suchen haben, es einfach ignorieren.
    Zu deinem "ProTipp" bekommst du einen von mir: Wenn sie im Titel lesen "Flappy Bird" und sie es noch nie gespielt haben, was interessiert es sie? Ich meine, habe ich dich gezwungen auf meinen Thread zu klicken, Herr Besserwisser?
    4. Da ich stark davon ausgehe, dass du zu unkonzentriert bist beim lesen: Die Kategorie, in welcher sich dieser Thread befindet, heißt "Technische Fragen", was hat dies mit der Eigenleistung zu tun. Falls ich etwas nicht weiß, stelle ich eine Frage bzw. schildere ein Problem. Und ein letztes mal: Ich glaube nicht, dass das Forum nur so da ist.

    Meine Fragestellungen waren bisher immer erfolgreich. Ich habe die Antworten bekommen, welche ich wollte und es hat am Ende auch geklappt. Leider kann ich untergebildeten Menschen wie dir, welche eindeutige Fragestellungen nicht verstehen, keinen Kompromiss machen. Falls du es nicht verstehen solltest, besorge dir mal ein Lexikon um deinen Wortschatz zu erweitern, um am Ende auch mal Fragen zu verstehen, welche deinen Kompetenzbereich übertreffen.

    "In diesem Sinne".
  • Ui Ui was ist hier denn wieder los.
    OffTopic
    Ich stehe hinter @BladeRunner und ich denke von ihm eher das Gegenteil von ungebildet.
    BladeRunner hat dich auch in keiner Weise beleidigt, was eine ich sag mal eine gute Argumentation mit ausmacht.
    Egal wie du es siehst, wie du was machen willst, irgendwann hilft dir auch einfach keiner mehr. BladeRunner hat dich lediglich indirekt darauf hingewiesen, dass sowas schnell passieren kann.
    Du hättest auch einfach im anderen Thread weiter machen können.

    Du brauchst einfach 2 Variablen wie im anderen Thread auch erklärt wurde.
    Eine für deinen aktuellen Score, da kannst du schon die eingebaute Variable score benutzen.
    Den zählst du dann den Punkten nach wie du willst.
    Zusätzlich hast du dann eine Highscorevariable, zum Beispiel bestscore.
    Zum auswerten schaust du, ob score größer ist als bestscore wenn ja, setze bestscore auf score und zeige an, dass der Rekord geknackt wurde.
    Speichern kannst du wie du willst machen. Für Anfänger ist aber eine INI Datei ganz einfach. Auf diesem Forum wirst du nach einem Tutorial fündig ;)

    PS: Ich empfehle dir den UdemyKurs von @Sorm
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Coleft schrieb:

    1. Dadurch, dass du keine Hilfe auf diesem Thread bist, hast du erstens keine Berechtigung mir irgendetwas mitzuteilen. Falls du dies machen willst beschwere dich bitte beim Moderator, sodass er das mit mir klären kann.

    Um qualifizerte Kritik zu üben muss man nicht selbst beteiligt sein. Ich erkenne auch einen schlechten Wein ohne Winzer zu sein und erkenne faule Kartoffeln ohne in der Landwirtschaft zu arbeiten. Hier gilt das Gleiche: Deine Vorgehensweise ist suboptimal, das erkenne ich (die Likes für mein Posting sprechen da ihre eigene Sprache) und weise Dich darauf hin, ohne dich damit anzugreifen oder zu beleidigen.

    Coleft schrieb:

    2. Es hat dich nicht zu kümmern wie viele Threads ich erstelle, dies sollte mir ein Moderator sagen und nicht Du.

    Es kümmert mich auch nicht wirklich, im Endeffekt wollte ich dich damit vor einem Rüffel bewahren. Kommt sicher nicht mehr vor ;)


    Coleft schrieb:

    3. Ich definiere meinen Titel so, dass andere Leute, welche sich mit dem Thema auseinandersetzen, helfen können und welche (wie z.B. Du) die hier nichts zu suchen haben, es einfach ignorieren.
    Zu deinem "ProTipp" bekommst du einen von mir: Wenn sie im Titel lesen "Flappy Bird" und sie es noch nie gespielt haben, was interessiert es sie? Ich meine, habe ich dich gezwungen auf meinen Thread zu klicken, Herr Besserwisser?

    Da hast Du mich gründlich missverstanden: Ein Titel ist eine Sache. Ihm sollte aber eine Frage folgen. Du wirfst hier Brocken in den Raum und willst dann bedient werden. Das empfinde ich als extremst unhöflich, und darauf weise ich hin. Wenn Du genug Doofe findest die dir deine Arbeit machen, bitte. Ich glaube aber du wirst eher auf kurze als auf lange Sicht damit auf die Schnauze fallen. Aber auch hier gilt im Endeffekt: Mach wie Du willst, mir ist es ganz kapital egal. Dein Ton beweist mir dass es verschwendete Energie wäre auf dich weiter einzugehen als ich es mit diesem - letzten- Posting an Dich tue.

    Coleft schrieb:

    4. Da ich stark davon ausgehe, dass du zu unkonzentriert bist beim lesen: Die Kategorie, in welcher sich dieser Thread befindet, heißt "Technische Fragen", was hat dies mit der Eigenleistung zu tun. Falls ich etwas nicht weiß, stelle ich eine Frage bzw. schildere ein Problem. Und ein letztes mal: Ich glaube nicht, dass das Forum nur so da ist.

    Ich halte mich durchaus für kognitiv präsent, aber danke. Würdest Du ein Problem schildern wär auch alles gut.
    "ich will Kartoffeln, wie bei Mama" ist aber keine Schilderung, sondern (s.o.) einen Brocken in den Raum geworfen. Hilfestellung gerne, aber wie wäre es wenn DU erst mal selbst versuchst und die Ergebnisse deiner Versucvhe zeigst? So riecht es nämlich in der Tat streng nach: "Programmier mal bitte einer mein Spiel für mich."
    Kann ich nebenbei erwähnt auch gern tun, dann aber zu marktüblichem Salär, Du kannst also inklusive Lohnnebenkosten mit 50€+/h rechnen.
    Wenn Du hingegen möchtest dass man dir unentgeltlich hilft, wirst Du zeigen müssen dass es sich lohnt dir zu helfen. Niemand hier hat genug Zeit dass er sie einfach so verschwenden will.

    Coleft schrieb:

    Meine Fragestellungen waren bisher immer erfolgreich. Ich habe die Antworten bekommen, welche ich wollte und es hat am Ende auch geklappt. Leider kann ich untergebildeten Menschen wie dir, welche eindeutige Fragestellungen nicht verstehen, keinen Kompromiss machen. Falls du es nicht verstehen solltest, besorge dir mal ein Lexikon um deinen Wortschatz zu erweitern, um am Ende auch mal Fragen zu verstehen, welche deinen Kompetenzbereich übertreffen.

    Getroffene Hunde bellen, ich nehme deine Beleidigungen zu Kenntnis, und ich bin hier raus. Noch helfen Dir andere- bei deiner Attitüde behaupte ich allerdings das wird sich rasch ändern.

    Mit freundlichem Gruß,
    der Ungebildete, der helfen wollte und dafür beleidigt wurde.
    (untergebildet kennt das Lexikon btw nicht. Eigentor ;))
  • Nun, BladeRunner muss ich ebenfalls recht geben. Einen zweiten Thread zu der gleichen Frage zu eröffnen, ist nicht sinnvoll, auch Wenns bei dir in deinem 1. Thread nicht ganz erklärt oder beantwortet wurde.

    Ich gehe stark davon aus, dass die Moderatoren möchten, dass man dann in dem selbem Thread wieder eine neue Antwort schreibt, (auch wenn es als Spam gilt) und nochmal kurz ausführlich fragen. Wenn wieder keine Antworten kommen sollten, dann musst du halt damit leben bzw. in der Englischen GameMaker Forum nochmal suchen und erforschen, da sind auch viele Exemplare und auch Informationen über "Flappy Bird - Score..." soweit ich weiß, da ich auch früher mal einen Flappy Bird Klon-Spiel erstellt hatte, und all diese Sachen müssten jedenfalls da zu finden sein.


    Mit freundlichen Grüßen
    DefZombie