Highscore
Highscore
Hallo,
Ich habe ein Spiel gebastelt.
Mein Spiel erstellt eine Text datei namens Highscore.txt,
dort listet es die Punkte auf:
1120 Punkte
1060 Punkte
1060 Punkte
950 Punkte
40 Punkte
...
Sortiert Automatich das beste nach oben...
Wie kann ich jetzt machen, dass diese Zeilen aus der Textdatei
in ein StartDrawing() übertragen wird?
Ich habe ein Spiel gebastelt.
Mein Spiel erstellt eine Text datei namens Highscore.txt,
dort listet es die Punkte auf:
1120 Punkte
1060 Punkte
1060 Punkte
950 Punkte
40 Punkte
...
Sortiert Automatich das beste nach oben...
Wie kann ich jetzt machen, dass diese Zeilen aus der Textdatei
in ein StartDrawing() übertragen wird?
Das Ende meines Lebens:
If leben = 0
End
Endif
If leben = 0
End
Endif
Alle Zeilen per ReadString in ein Array einlesen und anschliessen das Array in einer Schleife ausgeben.
Code: Alles auswählen
For x=1 to 5
drawtext(0,x*10,Highscore (x))
next x
Achso.
Das wußt ich nicht.
Eine Array ist eine Liste von Speicheradressen die Inhalte wie Strings, Integer et Cetera haben.
Das war jetzt ne grobe Ausführung davon.
Ein Array muss zuerst Dimensioniert werden.
Hier hab ich jetzt eins mit 10 Feldern dimensioniert. Und zwar als Felder die nur Strings beiinhalten können.
So nun füllen wird die Felder.
Und verwenden.
So jetzt haste ne Grundlage.
Das wußt ich nicht.
Eine Array ist eine Liste von Speicheradressen die Inhalte wie Strings, Integer et Cetera haben.
Das war jetzt ne grobe Ausführung davon.
Ein Array muss zuerst Dimensioniert werden.
Code: Alles auswählen
Dim DeinArray.s (10)
So nun füllen wird die Felder.
Code: Alles auswählen
DeinArray (1)="Hallo"
DeinArray (2)="Welt"
DeinArray (3)="Hallo"
DeinArray (4)="da draußen"
Code: Alles auswählen
MessageRequester ("Test",DeinArray (1)+DeinArray (2)+DeinArray (3)+DeinArray (4),0)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Hier noch ein unvollständiges Beispiel, das nur das Prinzip aufzeigt. Die HighScore.txt sollte besser eine Preferences-Datei sein, bzw. eine Prüfung auf evtl. Leerzeilen fehlt hier!
Code: Alles auswählen
; Skeleton, unvollständig!!!
File = ReadFile(#PB_Any, "HighScore.txt")
If File
Dim HighScore.s(4)
For x = 0 To 4 ; besser 2 getrennte for next schleifen!!
HighScore(x) = ReadString(File)
DrawText(0,x*10,Highscore (x))
Next x
CloseFile(File)
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

nope, das sind 11 Felder (0 - 10)DoubleID hat geschrieben:Ein Array muss zuerst Dimensioniert werden.Hier hab ich jetzt eins mit 10 Feldern dimensioniert.Code: Alles auswählen
Dim DeinArray.s (10)
Grüße ... Kiffi
Eigentlich brauchst du noch nicht einmal Arrays.
Weißt du wie du strings aus einer Datei rausliest?
Dann tust du halt die erste Zeile in die Variable ErsterPlatz$, die zweite in ZweiterPlatz$ und so weiter.
Und deann schreibst du:
Weißt du wie du strings aus einer Datei rausliest?
Dann tust du halt die erste Zeile in die Variable ErsterPlatz$, die zweite in ZweiterPlatz$ und so weiter.
Und deann schreibst du:
Code: Alles auswählen
startdrawing(screenoutput())
frontcolor(50,50,50)
locate(100,40)
drawtext(Ersterplatz$)
locate(100,60)
drawtext(ZweiterPlatz$)
...
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46