Rangliste erstellen

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

  • Rangliste erstellen

    Also eigentlich ist das Thema schon gelöst, aber nicht so richtig.

    Es ist so:
    Ich weiß wie es gehen könnte, nur wäre der Code ziemlich lang!

    Problem:
    Ich habe eine Tabelle von vier Mannschaften mit Punkten und Torverhältnis!
    Die Punkte von jeder Mannschaft ist eine Variable und die von dem Torverhältnis ist eine (also +5, oder -3 usw.)

    Wie kann ich jetzt am einfachsten eine Rangliste der Mannschaften erstellen, ohne viel Code zu scripten?
  • Hab mir das jetzt angeguckt, nur habe ich leider keine Ahnung, wie ich das machen soll.

    Gut, ich kann listen erstellen, und dort sortieren!
    Aber ich will ja nicht nur eine liste mit einer Spalte!

    Im Grid kann ich zwar mehere machen, aber nicht sortieren!
    Wie mache ich das denn jetzt?
  • das ist natürlich wirklich ein Problem. Du könntest natürlich mehrere Spalten durch | simulieren, also du machst als Spalten einfach immer "Name|Wert1|Wert2" udn arbeitest dann mit stringfunktionen, um gezielt Informationen zu erhalten. Solche string-Skripte sind ein wenig nervig zu schreiben, aber da kann dir ja geholfen werden. Mit einem anderen Skript könnte man diese Strings dann neu sortieren lassen, und zwar z.B. "Wert1|Wert2|Name". Das wäre noch eine Ecke schwieriger. Das Sortieren an sich ist dann einfach, dafür gibt es ja die Sortierfuntkion nach Alphabet. Du musst natürlich noch an anderer Stelle festhalten, umwieviel Spalten dein Zeilenstring verschoben ist, also bei "Name|Wert1|Wert2" wäre es z.B. 0, bei "Wert1|Wert2|Name" 1, und bei "Wert2|Name|Wert1" 2. Dabei geh ich davon aus, dass das immer eins nach links geschoben wird.
    Einzige Frage wäre, wie der Game Maker bei -3 und 3 sortiert, wenn es sich um Strings handelt...
  • Ich glaube, das habe ich im groben und ganzen verstanden!
    Allerdings:
    Wie mache ich es, dass der den Wert 1 nach vorne schreibt oder so?
    Weil wenn ich es mit String_copy mache, muss ich das jedesmal neu machen, da ja einig vielleicht auch ein zweistelliges Torverhältnis haben oder so...

    Vielleicht habe ich aber auch einen Denkfehler....dann berichtigt mich!
  • Original von -jc-
    In meinem Excel-Spielplan zur WM benutze ich das Hilfskriterium

    Punkte + 0,01 Tordifferenz + 0,0001 Tore

    Das erledigt alle Sortieranweisungen auf einmal.



    Excel-Spielplan



    Das war auch mein alter Trick, aber durch den Kommazahlen-Bug des Game Makers, der beim Konvertieren zu Strings erst so richtig ans Tageslicht kommt, macht einem da einen Strich durch die Rechnung, also Finger weg.

    Und ja Basti, so eine Verschiebung würde heißen, den Stringvorne bis zum | zwischenzuspeichern, dann bis einschlißelich diesem zu Löschen, und den zwischengespei

    Abstrakt würde das so aussehen:

    Quellcode

    1. Wiederhole folgenden Vorgang x Mal:
    2. {
    3. Spalte = StringKopieren(GesamtString) von Anfang bis zum ersten |
    4. Zeile = StringKopieren(GesamtString) von 1 nach dem ersten | bis Ende.
    5. GesamtString = Zeile+'|'+Spalte;
    6. Verschiebung += 1;
    7. Wenn Verschiebung = Spaltenanzahl then Verschiebung = 0;
    8. }
  • Benutzer online 1

    1 Besucher