Hallo,
ich möchte für ein in Basic geschriebenes Spiel einen Highscore verwenden,
der gelesen, geändert und wieder gespeichert werden kann ohne das Basicprogramm zu zerstören.
Es soll das übliche, also "Name" und "Punkte" beinhalten.
Gefunden hab ich darüber nichts, und selber reichen meine Kenntnisse leider nicht aus!
Hat jemand eine Idee? Evtl. mit kurzer Erklärung.
Hallo Besucher, der Thread wurde 1,5k mal aufgerufen und enthält 7 Antworten
letzter Beitrag von giben am
Highscore in Basic programmieren
- Womak
- Erledigt
-
-
Möglichkeit 1: OPEN/PRINT#/INPUT#
Zum Laden die sequentielle Datei zum Lesen öffnen (open1,8,2,"high-scores"), Daten mit INPUT# lesen.
Zum Speichern erst die Datei löschen, dann sequentielle Datei zum Schreiben öffnen (open1,8,2,"high-scores,w"), Daten mit PRINT# schreiben.
Solange die Einschränkungen von INPUT nicht stören (Probleme mit Doppelpunkten, Kommata, Anführungszeichen, überlangen Zeilen), wäre das das Einfachste.Möglichkeit 2: LOAD/SAVE
Du suchst Dir einen Speicherbereich, z.B. den Kassettenpuffer, und bewahrst darin die Daten auf. Also Lesen mit PEEK, Schreiben mit POKE. Geladen und gespeichert wird mit den entsprechenden Kernal-Funktionen.Wichtig: Die DOS-Funktion SAVE-WITH-REPLACE zum Ersetzen einer vorhandenen Datei ist fehlerhaft und kann Datenverlust verursachen. Daher muss bei beiden oben genannten Möglichkeiten vor dem neuen Speichern die alte Datei per SCRATCH gelöscht werden!
Es gäbe auch noch weitere Möglichkeiten per Direktblockzugriff oder REL-Datei, aber das wäre mit Kanonen auf Spatzen geschossen...
-
Möglichkeit 1: OPEN/PRINT#/INPUT#
Danke für den Denkanstoss, habs mal so probiert:
müsste funktionieren
-
Wenn du GA=PEEK(186) am Anfang deines Programms schreibst, dann sparst du bei Laden und Speichern die Redundanz
-
Die Highscore-Programmierung ist schon ein kleines Projekt mit mehreren Teilen.
1. Laden
2. Eingabe
3. Sortieren
4. Ausgabe
5. SpeichernIch benutze gewöhnlich SEQ-Dateien, PRG ist aber auch in Ordnung.
Schönen Gruß.
-
Die Highscore-Programmierung ist schon ein kleines Projekt mit mehreren Teilen.
3. Sortieren
Das stimmt!
Ich habs mit seq-Dateien gemacht, geht gut.
Sortieren hab ich erstmal weggelassen, es gibt also nur den einen maximalen Highscore der angezeigt und verwaltet wird.
Das Spiel ist vorerst auch nur für 1-Spieler ausgelegt. -
Ja, mit einem Eintrag geht natürlich auch.
Ansonsten kann man das Einsortieren durchaus schon in zwei Zeilen hinkriegen.Schönen Gruß.
-
Redundanz
Gott sei Dank gibt es Wikipedia :
"Redundanz (Kommunikationstheorie), mehrfache Nennung derselben Information"
Man lernt nie aus