Highscore

Moderator: Rockford

Antworten
Benutzeravatar
Dr. Irata
Beiträge: 1100
Registriert: 24.08.2021 14:40
Has thanked: 156 times
Been thanked: 339 times
Kontaktdaten:

Highscore

Beitrag von Dr. Irata »

Ich habe mal eine Frage an die Profis hier... wie mache ich einen High Score? Also einer, der auch bleibt... das müsste ich ja in den Code bzw. Diskette zurückschreiben...
Grüße
Peter

Benutzeravatar
Sleeπ
Beiträge: 1853
Registriert: 18.06.2021 20:58
Has thanked: 213 times
Been thanked: 418 times
Kontaktdaten:

Re: Highscore

Beitrag von Sleeπ »

Ich würde bei Disks/ATRs eine Datei anlegen, in denen der Highscore (und ggf. zusätzliche Informationen) abgelegt wird. Diese habe ich dann bei Spielstart geladen und bei einer Änderung neu gespeichert.
Das habe ich bei Turbo-Basic so gemacht; sollte bei Assembler analog gehen. ;-)

Von (Turbo-)BASIC aus gibt es auch die Befehle NOTE und POINT, mit denen man direkt auf Bereiche der Disk zugreifen kann. Das habe ich aber bis Dato nicht verwendet; ich habe eine "normale" Datei angelegt.

Bei Modulen dürfte es etwas komplizieter sein. Soweit ich weiss kann man dort immer nur komplette Speicherblöcke löschen, d.h. um einen Score zu überschreiben. müßte man einen leeren Speicherblock haben, den man dann löschen und die neue Score speichern kann.
Sleeπ

Benutzeravatar
MichaG
Beiträge: 415
Registriert: 14.10.2021 12:54
Has thanked: 449 times
Been thanked: 133 times
Kontaktdaten:

Re: Highscore

Beitrag von MichaG »

Sleeπ hat geschrieben:
02.05.2022 07:15
Bei Modulen dürfte es etwas komplizieter sein. Soweit ich weiss kann man dort immer nur komplette Speicherblöcke löschen, d.h. um einen Score zu überschreiben. müßte man einen leeren Speicherblock haben, den man dann löschen und die neue Score speichern kann.
Da kenne ich nur Flob, wo sowas gemacht wird. Ich habe das originale Spiel auf Cartridge, das speichert die erreichten Ziele. Wenn ich aber das Spiel über The!Cart starte (auch wenn ich mit Shift-Enter starte) werden die Spielstände nicht gespeichert...

Gibt es noch mehr Beispiele?

Witzig wäre auch ein Abspeichern über FujiNet auf einem entsprechendem Server. Da hätte man gleicht eine weltweiter Highscore-Liste ;-)
ABBUC-Mitglied aus den 90ern/frühen 2000ern
Ex-WAF und Regionalgruppe Thüringen

Online
Benutzeravatar
Kveldulfur
Beiträge: 887
Registriert: 17.08.2021 02:32
Has thanked: 380 times
Been thanked: 317 times
Kontaktdaten:

Re: Highscore

Beitrag von Kveldulfur »

Hallo Peter!

Im "Das ATARI Profibuch", welches Du vom ABBUC herunterladen kannst, werden die CIO/SIO-Befehle beschrieben, wie man eine Datei auf einer Diskette öffnen kann und lesen. Sicherlich auch schreiben. Leider sind keine Programmbeispiele bei. Ich selbst habe das bis jetzt noch nicht ausprobiert.

Ein weltweiter Highscore wäre sicherlich nett, aber wer garantiert, dass dann dort nicht einer "nachgeholfen" hat?
Habe gestern PubG gespielt und von 3 Spielen waren bei einem die Gegner zum Schluss wieder überaus "allwissend". :roll:

Grüße
Janko
Meine Projekte findest Du hier...

Benutzeravatar
Dr. Irata
Beiträge: 1100
Registriert: 24.08.2021 14:40
Has thanked: 156 times
Been thanked: 339 times
Kontaktdaten:

Re: Highscore

Beitrag von Dr. Irata »

Hallo Ihr Beiden,
das Profibuch habe ich und auch tatsächlich mal reingeschaut bei CIO/SIO ... aber wie du sagst, da muss man sich erst einmal reinfuchsen für Assembler!
Wenn ich das noch vor dem 31.7. schaffe, dann gut, eher aber was hier mal fürs Forum und ein nächstes Projekt!
Mit Sicherheit haben wir hier aber Profis, die das schon längst programmiert haben ;-)

Benutzeravatar
DjayBee
Beiträge: 886
Registriert: 17.08.2021 04:02
Has thanked: 605 times
Been thanked: 305 times
Kontaktdaten:

Re: Highscore

Beitrag von DjayBee »

Für (evtl. nur fast) alle Macroassembler gibt es fertige makropacks, die den Zugriff auf CIO fast so einfach machen, wie in BASIC.

So sieht das z.B. in MADS aus:

Code: Alles auswählen

	open #$10,#8,#dateiname
	read #$10,#$B,#txtbuf,#txtbufend-txtbuf		; heißt zwar read, schreibt aber wegen Open mit #8 und dem Befehl $B ;)
	close #$10
	
; insert libraries
	.link '..\lib\io\io_lib.xex'
Ich hab das schon ewig in meinen Sources drin und bin mir deshalb nicht mehr ganz sicher. Aber ich meine, dass die Libs direkt mit MADS mitkommen und nur einmalig assembliert werden müssen, damit du das XEX erhältst.
Im Quellcode der Lib steht auch, wie sie benutzt wird.

Benutzeravatar
Mathy
Beiträge: 1521
Registriert: 18.06.2021 11:13
Wohnort: Heerlen, NL
Has thanked: 694 times
Been thanked: 380 times
Kontaktdaten:

Re: Highscore

Beitrag von Mathy »

.
Hallo Janko

Kveldulfur hat geschrieben:
02.05.2022 09:12
Ein weltweiter Highscore wäre sicherlich nett, aber wer garantiert, dass dann dort nicht einer "nachgeholfen" hat?
Man könnte die Highscore irgendwie verschlüsseln.

Tschüß

Mathy
Schreibe nicht der Absicht zu, was man mit Dummheit oder Ignoranz erklären kann.

Benutzeravatar
DjayBee
Beiträge: 886
Registriert: 17.08.2021 04:02
Has thanked: 605 times
Been thanked: 305 times
Kontaktdaten:

Re: Highscore

Beitrag von DjayBee »

Übrigens für weltweite High-Scores:

Hi Score Cafe with support for FujiNET

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast