Highscoreliste!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

RazaR|619|

Betreff: Highscoreliste!

BeitragMi, Mai 17, 2006 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute!

Ich hab ja inzwischen schon das ein oder andere mit BlitzBasic gemacht. Ich brauch zurzeit ne Higscoreliste......und mir fällt irgendwie nichts ein, wie ich das anstelle, dass sich die Liste ordnet.
Währe cool, wenn mir jemand nen Tip geben könnte, wie ich das angehe.

BladeRunner

Moderator

BeitragMi, Mai 17, 2006 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
suche: quicksort oder bubblesort
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

x-pressive

BeitragDo, Mai 18, 2006 7:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Du brauchst gar keine Sortierung, wenn du neue Namen gleich richtig einfügst.

Zwei Arrays für Namen und Punkte anlegen, beim ersten Start des Programms zuerst mal mit Default-Werten füllen, damit die Liste nicht leer ist (bzw. Highscores aus einem File laden):

Code: [AUSKLAPPEN]

Dim names$(10) : Dim scores%(10)

; DEFAULT-NAMEN UND PUNKTE
For i = 1 To 10
   scores(i) = 10000 - i*500
   names$(i) = "JOHN DOE"
Next



Nach dem Spiel prüfen, ob der Spieler einen Highscore erreicht hat. Wenn new_rank grösser als 0 ist, hat der Spieler einen Platz in den Top 10 erreicht. In dem Fall wird einfach die Liste von der aktuellen Position bis zum letzten Platz um eins nach unten geschoben und der neue Eintrag in die entstandene Lücke gesetzt. Keine Sortierung nötig.

Code: [AUSKLAPPEN]

new_rank = 0

; PRÜFEN, OB HIGHSCORE ERREICHT:
For i = 1 To 10
   If player_score >= scores(i) Then new_rank = i : Exit
Next

; HIGHSCORE ERREICHT!
If new_rank > 0 Then
   ; ALLE LISTENEINTRÄGE UNTERHALB DES AKTUELLEN UM EINS NACH UNTEN VERSCHIEBEN:
   For i = 10 To new_rank Step-1
      scores(i) = scores(i-1)
      names$(i) = names$(i-1)
   Next

   ; AKTUELLE POSITION MIT NEUEM NAMEN UND PUNKTEZAHL ÜBERSCHREIBEN:
   scores(new_rank) = player_score
   names$(new_rank) = Input("DEIN NAME? ")
End If
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

D2006

Administrator

BeitragDo, Mai 18, 2006 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
sortiertes Einfügen ist aber auch eine Sortierung...
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

RazaR|619|

BeitragDo, Mai 18, 2006 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
So an die Sache ranzugehen ist mir gar nicht eingefallen. Läuft jetzt alles wie es soll.

Danke.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group