Just nu i M3-nätverket
Gå till innehåll

Fråga ang. "Highscore"


F_Lähnn

Rekommendera Poster

Hallå!

 

Jag har skapat ett spel i VB. Närspelet är över kommer det upp en ruta med poängen. Nu skulle jag vilja spara dessa i en 10-i-topp eller liknande. Hur gör jag lättast?

Har skapat en "Highscore" lista med hjälp av label men det ända jag får den att visa är det senast spelade.

 

/Feffe

 

Länk till kommentar
Dela på andra webbplatser

Kan ge dig lite ideér på hur du ska gå till väga.

 

Det här är stegen du måste ta:

 

1. Ladda sparade värden ifrån en text fil till en array när spelet startas.

2. Lägg till eventuell ny highscore när spelaren "dör".

3. Spara din array med highscore till en textfil.

 

Du kan använda dig av något liknande detta för att kolla om ett värde är ett highscore eller ej i din array:

 

Const HIGHSCORES = 10

Public Type Score
   Name As String
   Value As Integer
End Type

Public HiScores(HIGHSCORES) As Score

Public Function AddScore(ByVal Name As String, ByVal Value As Integer) As Boolean
Dim i As Integer
Dim tempName As String
Dim tempValue As Integer
Dim changed As Boolean

changed = False
For i = 1 To HIGHSCORES
   If HiScores(i).Value <= Value Then
       changed = True
       tempValue = HiScores(i).Value
       tempName = HiScores(i).Name
       HiScores(i).Value = Value
       HiScores(i).Name = Name
       Value = tempValue
       Name = tempName
   End If
Next i
AddScore = changed
End Sub

 

Använd dig av en 2D array när du läser in Namn/Score ifrån din textfil.

Lättast är nog att ha en komma separerad textfil i stil med "Kalle/1242,Jonas/987,Maria/643...." sen använder du dig av split() för att läsa in värden i en 2D Array.

 

Ovanstående funktion ger dig ett Integer värde beroende på om ett nytt värde las till i highscore eller ej, då kan du t.ex gratts din användare.

 

 

Hoppas det hjälper dig på traven.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...