Highscore erstellen!!

Anfängerfragen zum Programmieren mit PureBasic.
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Highscore erstellen!!

Beitrag von D4uS1 »

Bin ein absoluter Anfänger, also bitte nicht lachen bei der Frage:

Wie erstelle ich eine Highscore, um Punkte und Spielername nach Rangliste abzuspeichern?

Danke im Voraus!
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Ich hab da nen Demo-Code, wenn ich ihn finde schick ich ihn dir (kann aber noch dauern :roll: )
Meine Tipps:
- Dynamisch Arbeiten
- Linked Lists benutzen
- Mit File, nich mit Preferences arbeiten

Ich schick wie gesacht den Code nach sobald ich ihn gefunden hab!

KeyKon
(\/) (°,,,°) (\/)
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

Du Sammelst die Punkte im Spiel, wenn das Spiel fertig ist haste deine fertige Var.

DAnn fragst du nach dem Namen, welches in nen String übergeben wird.

So und jetzt lies dir die Preferences-Funktionen durch, eg. Openpreference(), Readpreferencestring(), writepreferencestring(), usw. usw. usw.

-> Details und ne übersicht stehen in der PureBasic Hilfe.

Eine Frage neben bei -> ist das Spiel denn überhaupt schon fertig? <)
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Beitrag von D4uS1 »

Ja das Spiel is soweit fertig, will nur im laufe der zeit noch weitere funktionen einbauen, ich schaue mal ob ich das so hinkrieg, ansonsten meld ich mich nochmal, danke!!!!!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Wenn du bei der SUCHE "Highscore" eingibst dann findest du haufen weise Thema. Also das nächste mal bitte er in der Suche gucken :roll: (ist nicht böse gemeint)

Hier ist mein CODE den ich schon einem andere geschick habe :

Code: Alles auswählen

Procedure HighScore(Datei$, Punkte, Name$)
 If OpenFile(1, Datei$)
  If CreateFile(2, "_"+Datei$)
   Repeat
    UseFile(1)
     String$ = ReadString()
     HS_Punkte = Val(Trim(Mid(String$, 1, 10)))
    UseFile(2)
     If HS_Punkte < Punkte And Eingetragen = 0:
      WriteStringN(Str(Punkte)+Space(10-Len(Str(Punkte)))+Name$)
      Eingetragen = 1
     EndIf
     WriteStringN(String$)
   Until String$ = ""
   CloseFile(2)
  EndIf
  CloseFile(1)
 EndIf
 CopyFile("_"+Datei$, Datei$)
 DeleteFile("_"+Datei$)
EndProcedure

HighScore("HS.txt", 23, "Test 1")
HighScore("HS.txt", 4, "martin")
HighScore("HS.txt", 124, "Stargate")
HighScore("HS.txt", 1, "LOL")
HighScore("HS.txt", 2341, "baum")
wenns geht dann ist in der Datei HS.txt eine schicke geordnete HighScore liste :-)

Wenns Fragen gibt einfach Fragen :-)
Zuletzt geändert von STARGÅTE am 02.09.2006 14:31, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

@STARGÅTE:

Code: Alles auswählen

 OpenFile(1, Datei$)
 CreateFile(2, "_"+Datei$)
 [...]
gibt's für OpenFile() und CreateFile() unter V3.3 eigentlich keine
Rückgabewerte, anhand deren man überprüfen kann, ob der entsprechende
Befehl auch wirklich erfolgreich ausgeführt werden konnte? Wenn ja, dann
solltest Du Deine Routinen um diese Rückgabewerte und deren Auswertung
erweitern.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ja gibs, nur ich verwende es nie, nur wenn ich es wirklich brauche, aber ich kanns hier ändern . :allright:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Beitrag von D4uS1 »

danke für die antworten, wenn ich aber das mache was du gesagt hast, kommt da die fehlermeldung:

a procedure parameter cant be a global variable!

Was denn sonst? Soll ich ne Konstante angeben oder wat, aber dann ist ja die Punktezahl eingeschränkt!!!!!
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

>>a procedure parameter cant be a global variable!

hab ich bisher zwar noch nie gesehen, aberwarum sollte man eine Global var übergeben?
my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hast du Stargates Code einfach so eingebaut?

du musst natürlich checken, ob du schon eine globale variable verwendest,
die genauso heißt, wie ne eine von den verwendeten variablen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten