Selbstgeschriebene Spiele für die Commodore PET/CBM-Reihe

  • Wenn ich dies in der nächsten Runde dann auf den Bildschirm poke, müsste doch genau diese Stelle gelöscht werden- obwohl die Schlange erst ein Zeichen lang ist?! Weshalb wird die Schlange aber erst brav 10 Zeichen lang, bis die älteste Position mit einem Leerzeichen überschrieben wird?

    Suspekterweise funktioniert es aber einwandfrei... ich bin echt raus.

    Der Trick ist, dass immer erst an der Bildschirmposition, die in RP(AP) steht gelöscht wird und dann erst die neue Bildschirmposition nach RP(AP) geschrieben wird. Die Reihenfolge ist wichtig. Erst löschen, dann die Position überschreiben.


    Am Anfang ist der Ringpuffer leer, deswegen wird in deinem Programm jetzt 10x die Bildschirmposition 0 gelöscht (also immer die gleiche Position), während die Schlange vorne wächst. Erst wenn der Ringpuffer komplett gefüllt ist, wird tatsächlich damit begonnen, das Ende der Schlange zu löschen.


    Deswegen initialisiere ich in meinem Programm den gesamten Puffer zu Beginn mit einer Adresse ausserhalb des Bildschirms (33768). Dadurch wird eine Adresse ausserhalb des Bildschirms gelöscht (was gleichbedeutend ist mit gar nicht löschen), solange der Puffer nicht gefüllt ist. Das kommst spätestens dann zum tragen, wenn die Schlange nicht an Bildschirmposition 0 loslaufen soll und die Bildschirmposition 0 vielleicht Teil einer Spielfeldbegrenzung ist, die man nicht gelöscht haben möchte.


    Zum besseren Verständnis kannst du dir einfach mal den gesamten Inhalt des Puffers und die Pufferposition bei jedem Durchlauf aufschreiben. Evtl. dafür den Puffer verkürzen. Dann geht das schneller.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    2 Mal editiert, zuletzt von detlef ()

  • ... allerdings ist der Elan gerade komplett im Keller, weil ich nicht verstehen kann, wie dieser Ringpuffer arbeitet... bzw. WESHALB er dies tut.

    Das eine hat doch mit dem anderen so gar nichts zu tun ! Der Ringpuffer ist halt ein komisches Konstrukt - und hier dann noch in einer absonderlichen Form, mit dem Löschen und Schreiben an quasi gleicher Position. Man kann das auch als "Trick" sehen, quasi eine Art Demo-Speedup.

    Darum hatte ich oben mal geschrieben, daß Du das mal mit zwei Pointern anfangen sollst - das geht damit nicht besser oder schneller, aber man kapiert es damit evtl. einfacher.


    Oder mach mal das von detlef empfohlene Aufschreiben der Positionen !

    Kann man auch per Hand und Bleistift machen. Sowas kann auch ganz hilfreich sein.


    Die anderen Sachen oben sind halt ein bißchen abgehoben, theoretisierend. Aber deswegen nicht daneben. Mit solchen Beschreibungen kann man sowas dann auch auf beliebige andere Sprachen umsetzen.


    Auch auf Assembler !


    Laß Dich davon nicht abbringen. Assembler hat nichts (!) mit Ringpuffern zu tun. Man kann natürlich welche darin bauen. Aber die 6502 Basics sind eigentlich wirklich ganz einfach und wer eine Vorstellung hat, was man mit Variablen macht ( und das hast Du , sieht man am Programm oben ), versteht was Register sind und der Rest sind dann so Vorstellungen von einem adressierbaren Speicher und dazu ein paar wenige Befehle, die eigentlich nur kompliziert aussehen, weil sie in einner komischen Notation aufgeschrieben werden. Eigentlich beschränkt es sich aber auf Addieren, Subtrahieren, Vergleichen von Zahlen und ein paar Sprungbefehle.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    Einmal editiert, zuletzt von ThoralfAsmussen ()


  • Rätsel über Rätsel. ;)


    Ich fang mal oben an: Schreib mal das DIM RP(L) da rein. Vergißt man später und sucht sich evtl. "einen Wolf".


    Daß die Schlange wegläuft - ist nicht OK. Eigentlich. Und es liegt auch einfach nur daran, daß Du CT mit einer "3" vorinitialisierst. Das heißt, auch wenn Du gar keine Taste drückst, ist CT immer "3".


    Das ist dann schon sowas, wo man eine evtl. verständnisfördernde Sache einbauen kann. Nämlich entweder das CT=3 am Anfang rausnehmen oder eine Zeile am Ende einfügen, wo nach jedem Programmlauf CT auf 0 gesetzt wird. Und dann mal schauen, was die Schlange dann macht.



    Bei Zeile 230 passiert das, was Du schreibst. Und danach schreibt man die Position tatsächlich in RP. Dort steht dann an Position AP des Ringpuffers die 'Adresse' P vom Bildschirm drin. Der Ringpuffer merkt sich also letztlich die benutzten Bildschirmpositionen. Aber AP selbst hat damit eigentlich nichts zu tun. Das ist eher so eine Art Counter, für den es auch gar nicht so wichtig ist, wo genau er nun steht. Sinnvollerweise natürlich da, wo man was verändern will.


    Vielleicht schreibst Du die Zeilen 240 und 250 mal andersherum und dezent verändert auf


    240 RP(AP)=P

    250 POKE 32768+RP(AP),160


    vielleicht wird es dann klarer, was passiert.



    Was wann genau in den Daten drin steht, kannst Du Dir schon mit z.B.

    255 PRINT RP(AP), AP

    ausdrucken lassen. Dann kann man das direkt angucken.


    Wichtig ist den Punkt zu verstehen, an dem die Schlange das erste Mal den Schwanz trifft. Also wenn AP das erste Mal "überläuft" und wieder auf AP=1 gesetzt wird.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Deeeeetleeeeef, Thoralf! :smack::juchee:


    Jetzt hat's geklingelt- RICHTIG!!!!

    Ich wusste zwar, dass mit 33768 in der Schleife quasi die Bildschirmposition 1001 vollgeschrieben wird-welche es ja nicht gibt (und dachte beim Bau der Levelränder daran, nachdem logischerweise 32768 nach entfernen der Schleife vollgeschrieben würde und mir den Rand löschte)- aber ich erkannte nicht, weshalb dies überhaupt notwendig war, weil ich eben nicht verstand, was jetzt aber oben von euch erklärt wurde.


    NUN scheint der Groschen gefallen zu sein. Mein erster Versuch war garnicht soooooo weit entfernt (ok, drücken wir mal ALLE Augen zu)- aber mit meiner Reihenfolge damals hätte es niemals klappen können. Deshalb dann mein trauriger Versuch mit dem "-10", um wenigstens halbwegs löschende Schlangen zaubern zu können.

    Ich würde es zwar aus dem Stegreif wieder nicht hinbekommen- zumindest nicht ohne 50xüben- aber das Programm PLUS deine Erklärung in Textform detlef machen es jetzt klar. Erstmal sind 10 Stellen des Puffers einfach leer, bzw. 32768, weil RP(AP) =0.

    In Zeile 220 wird also die ersten zehn Durchläufe nix passieren. Dann aber wird AP zurückgesetzt und nun genau die Positionen mit Leerzeichen überschrieben, welche vorher das ausgefüllte Grafikzeichen enthielten.

    Kann ich jetzt mal wieder schwierig beschreiben (du hattest es ja ohnehin bereits getan :) ), aber ich hab's kapiert. Das Geräusch des fallenden Groschens muss sehr laut gewesen sein...


    Da der 4032 nicht in meiner Wohnung steht, hab ich mir das schnell nochmal auf dem 8032-SK nachprogrammiert und zwei Printbefehle zur Anzeige der Werte eingebaut:



    Da fiel mir auch gleich das nächste Thema ein... weshalb lassen sich einstellige Zahlen nicht mehr korrekt darstellen, wenn diese vorher mehrstellig waren? Er schreibt dann immer eine 0 hinten dran, obwohl mein Printbefehl doch eigentlich nach dem Semikolon sofort wieder Text darstellt?

    Ich kenne PRINT USING, aber das gibts ja im Basic 4.0 nicht, oder? Hab mir dann beholfen, indem ich einfach vorher kurz alles überschreibe- weiß jedoch sicher, dass das auch ohne so einen Blödsinn klappt, wenn man die Zahl entsprechend formatiert.

    Ihr seht schon: Viel zu lernen- aber jetzt ist wenigstens der Elan wieder ein bisserl zurückgekehrt.


    ThoralfAsmussen

    Die Schlange soll ja am Anfang bereits weglaufen, das war tatsächlich beabsichtigt von mir. Ist im echten Snake doch auch so gewesen (mein Nokia 5110 müsste doch noch irgendwo rumliegen?).

    Den Umbau auf zwei Pointer bekomme ich nicht hin, hab ich schon gestern ewig probiert... leider. :(

    Die würden es eventuell klarer machen- aber ich wüsste nicht, wie ich programmieren müsste, dass die beiden 10 Zähler voneinander entfernt agieren.

    Theoretisch mag ich das kapieren- nur zu Programm bringe ich es nicht. Irgendwie dürfte der Löschzähler wohl erst dann beginnen, wenn der Grafikzeichenzähler (also hier das ausgefüllte Zeichen) auf >10 ist. Im Anschluss daran müssten beide laufen. Aber wie gesagt: Bekomme ich nicht gebacken, leider. Sitze dann vor dem Rechner und starre auf die grünen Zeichen- und im Kopf ist nur wirres Zeug. Schwer zu beschreiben. Eine Art Logik-Legasthenie, vielleicht? :D Geht gut mit meiner VOLLSTÄNDIGEN Orientierungslosigkeit einher. Seit ich denken kann, weiß ich nicht, wo welche Himmelsrichtung ist, oder wo die Sonne aufgeht- NEVER EVER. Kann man mir noch so oft erklären, bin da total raus. Ich bin als junger Bub öfter auch in ein Geschäft rechts reingegangen, und danach rechts raus- und wunderte mich, weshalb ich nicht zurück zum Anfang kam (dazu hätte ich ja wieder links rausgehen müssen).

    Klingt lustig, aber sowas gibts wirklich. Mittlerweile ist das natürlich besser geworden, vor allem in mir bekannten Orten ist es quasi nicht mehr vorhanden. Ein Außenstehender würde das sicher nicht merken. Mich belastet es aber hin und wieder, weil ich mir nicht erklären kann, woher sowas kommt?

    Links und rechts kann ich selbstverständlich auseinanderhalten- an dem kanns nicht liegen. :)

    Zum Glück gibt's Navis, somit finde auch ich den Weg. Großstädte sind dennoch die totale Hölle für mich, weshalb ich gerne auf dem grünen Land lebe.


    DICKES DANKESCHÖN nochmals- generell an Alle, weil die Beteiligung einfach klasse ist! :)

  • Schön, dass der Groschen gefallen ist.


    Ich muss jetzt nochmal dazusagen, dass ich damals[tm], als ich zum ersten mal diese Schlange programmiert habe, auch nicht auf die Idee mit dem Ringpuffer gekommen bin, obwohl ich da schon mehrere Jahre Basic programmiert habe. Meine Schlange wurde damals mit zunehmender Länge immer langsamer, weil ich die Adressen brav im Schieberegiste durchgeschoben habe. ;)


    Da fiel mir auch gleich das nächste Thema ein... weshalb lassen sich einstellige Zahlen nicht mehr korrekt darstellen, wenn diese vorher mehrstellig waren? Er schreibt dann immer eine 0 hinten dran, obwohl mein Printbefehl doch eigentlich nach dem Semikolon sofort wieder Text darstellt?

    Das Commodore-Basic kennt keine Ausgabeformatierung. Entweder man verwendet eine Basic-Erweiterung wie z.B. Exbasic Level II oder man formatiert die Ausgabe immer mühsam mit String-Umwandlung und Left$ und Right$. Das ist eines der größten Mankos dieses Basic.

    Die Vollkatastrophe ist, dass der STR$()-Befehle standardmässig auch noch ein Leerzeichen vor die Zahl packt (der Platz für das Vorzeichen), das man dann bei der Formatierung auch immer noch extra entfernen muss. Das ist alles sehr unschön.

    Bei einfachen Debug-Ausgaben kann man sich behelfen, in dem man immer ein paar Leerzeichen hinten dranhängt, damit die Ausgabe wenigsten lesbar ist.


    Ich verstehe nicht, warum Commodore ab dem Basic 4 kein PRINT USING eingebaut hat. Stattdessen wurden 4KB ROM mit umständlichen Floppy-Befehlen verbraten. Dabei war die Floppy-Steuerung von Basic aus völlig ok. Lediglich ein CATALOG-Kommando und Abfrage des Fehlerkanals haben wirklich gefehlt.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    Einmal editiert, zuletzt von detlef ()

  • Juhu!


    Heute hab ich mir ein bisserl im Bastelkeller die Heizung unter dem Tisch am 4032 angemacht und gemütlich im Listing gewurstelt. :)


    Mittlerweile wird die Anzahl der gesammelten Kekse angezeigt, ein Rahmen gemalt und die Kollision zu sich selbst, bzw. zum Rahmen abgefragt, sowie die Schlange nach jedem Keks fünf Segmente länger gemacht.

    Die per Zufall gesetzten Kekse werden selbstverständlich nur da gesetzt, wo man mit der Schlange auch hinkommt (und auch nicht in die Schlange hinein).




    Fehlen noch Startbildschirm und Sound (zumindest beim Einsammeln von Keksen und beim Tod, überall sonst würde der Sound-Poke das Programm wohl zu stark verlangsamen).

    Außerdem der Game Over Bildschirm und noch ein paar weitere Gimmicks. Komischerweise fällt mir das "außenrum" nicht schwer? Lediglich bei verzwickten Programmiersituationen- at least für MICH verzwickt :D - habe ich solche massiven Probleme.

    Außerdem muss ich noch irgendwie den Puffer zurücksetzen, wenn ein Keks gesammelt wird. Aktuell läuft er weiter, wird aber nach Keksfutter mit L=L+5 verlängert. Deshalb wird im Moment noch munter weitergelöscht, bis irgendwann der Puffer wieder auf 1 gesetzt wird. (Zumindest erkläre ich es mir so)

    Je mehr Kekse man einsammelt, desto länger dauert der Punkt, an dem die Schlange wirklich länger wird.

    Ich versuche mich mal an einer Zurücksetzung direkt nach dem Einsammeln. :)


    Ich werde das Spiel wohl "RINGPUFFER" nennen. Es führt kein Weg an diesem Namen vorbei, was meint ihr?

    Eigentlich sollte der Spielhintergrund dann sein, RINGE einzusammeln, welche den PUFFER größer machen. :stupid:

    Glaub, so mach ich's. (Und ruf danach in der Anstalt an...)

    Da ich am 4032 kein petSD+ hängen habe, gibts hier noch keine Preview. Wenn der Kram fertig ist, dürft ihr ihn gerne runterladen, und wir kucken, wer den LÄNGSTEN (=größten Ringpuffer) hinbekommt.


    Mein anderer Ansatz (vom Beginn dieses Threads) ist hiermit wohl gestorben- denn der macht so keinen Sinn, bzw. deutlich weniger "Spass", als eine normale Schlange.


    Zum Thema Formatierung der Zahlen: Wenn ich hinter einem Printbefehl Leerzeichen einfüge- bspw. PRINT RP(AP);" " - schreibt der Rechner dennoch 90, wenn er von 10 auf 9 zurückzählt. Warum auch immer?!

    Naja, mit LEFT$, RIGHT$ und MID$ werd ich da schon was zaubern- andererseits muss er in diesem Spiel ja überhauptnicht rückwärts zählen. Glück gehabt.


    Viele Grüsse und nochmals DANKE,

    Matthias

  • Also Ringe kennt der CBM Grafikzeichensatz eigentlich - und welche Schlange ist schon Kekse. Außerdem müßte es ja dann "Cookie-Snake" heißen.


    Mich würde ja mal interessieren, wie Du das mit dem Verlängern machst.


    Mein anderer Ansatz (vom Beginn dieses Threads) ist hiermit wohl gestorben- denn der macht so keinen Sinn, bzw. deutlich weniger "Spass", als eine normale Schlange.


    Muß überhaupt nicht sein. Manchmal macht es auch Sinn einfach mal das noch richtig zu Ende zu bauen. Letztlich tauscht man im Spiel dann ja nur die Snake Routine, der Rest bleibt. Es wird wohl bißchen langsamer sein, aber evtl. findest Du ja noch Optimierungen - und mit der Info, daß man eben insbesondere nicht Sachen zeichnen muß, die schon da sind, ist da durchaus Potential für Verbesserungen vorhanden. Der Ringpuffer ist eine gute Lösung für das Problem - aber ganz sicher nicht die einzige oder gar Beste. Das ist sowas Genrelles an der Programmiererei - Dinge sind nur solange perfekt bis jemand eine besser Lösung gefunden hat. Und manchmal kann das z.B. heißen, daß es evtl. langsamer ist, dafür aber genügsamer mit Speicherplatz umgeht o.ä.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Wegen der PRINTerei


    Die strukturierte BASIC Variante wäre RIGHT$ zu benutzen und vorher die Länge zu bestimmen


    Code
    A=INT(RND(0)*2000)+1
    A$=STR$(A)               : REM macht einen String aus A
    L=LEN(A$)                : REM bestimmte dessen Länge
    B$=RIGHT$(A$,L-1)        : REM schneidet das VorzeichenSpace weg
    C$="...."+B$             : REM setzt was davor
    PRINT RIGHT$(C$,6)       : REM druckt was formatiert und rechtsbündig aus


    es geht aber auch ein Stück kürzer


    Code
    A=INT(RND(0)*2000)+1
    A$=STR$(A)               : REM macht einen String aus A
    L=LEN(A$)                : REM bestimmte dessen Länge
    PRINT TAB(10-L) A$       : REM druckt rechtsbündig aus


    Die zweite Variante erfordert potentiell noch ein Löschen des vorherigen Ausdruckes, wenn es auf der gleichen Zeile passiert.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Ich weiß, es paßt nur mäßig hier rein - aber es muß einfach sein


    Snake - Neuronales Netz lernt Snake "fahren" und wird verbessert indem aus jedem Ansatz mit 2000 Schlangenfahrten die, wo das am Besten geklappt hat, weiterbenutzt werden.


    https://www.youtube.com/watch?v=zIkBYwdkuTk

    Neural Network Learns to Play Snake

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Eselsbrücke für X/Y und Horizontal/Vertikal ist einfach, Du brauchst nur die Alphabet-Reihenfolge berücksichtigen:
    - "X" kommt vor "Y"

    - "H" (von Horizontal) kommt vor "V" (Vertikal)

    Also steht X für Horizontal und Y für Vertikal

  • Juhu Burschen!


    Nur eine kleine Zwischeninfo, weil es doch deutlich länger dauert, als gedacht bei Ringpuffer:


    1. Das Spiel wurde erweitert auf mehrere Leben, mehrere Levels, welche nachgeladen werden, und einer geänderten Kollisionsabfrage.

    2. Ein eigens programmierter Leveleditor ermöglicht nun das Erstellen eigener Levels mit fast allen verfügbaren Zeichen des CBM.

    Der Editor ist größer, als das Spiel und mein bislang "komplexestes" Projekt auf einem Commodore. Das wird für viele von euch lächerlich sein, aber für mich war's ne Leistung. :D

    Man kann mit einem Editor schnell und unkompliziert überall Zeichen setzen/löschen/invertieren und die Startposition, sowie die Startrichtung des Ringpuffer-Wurms festlegen. Somit ist das Zeichnen nun ein Kinderspiel- man kann es mit dem Editor-Programm von DOS 6.22 vergleichen.

    Der Editor lädt die Directory ins Programm, so dass man über eine Art Menü die Levels beliebig laden und editieren/speichern kann.

    Das Ganze wird dann als SEQ (PRG) Datei gespeichert und vom Spiel nachgeladen.


    Was fehlt nun noch?

    - Hilfetexte für Spiel + Editor

    - Bugfixing im Editor

    - Vernünftige Endsequenz im Spiel, wenn man es durchgespielt hat. Für Game Over hab ich bereits was eingebaut

    - Levelnachlade-Routine im Spiel so umschreiben, dass sie bei einer Fehlermeldung des Laufwerks (File not Found) automatisch in die Endsequenz wechselt


    Ein weiteres Problem ist noch die Tatsache, dass Windows (egal ob XP, 8 oder 10) die Level-Dateien nicht kopieren kann, weil jedesmal die Meldung kommt, dass die Datei nicht gefunden wurde?! Das heisst: Ich kann aktuell keine Levels zur Verfügung stellen, wenn ich das Spiel soweit fertig hab. :D

    Gezippt geht es wohl, aber da muss ich noch bissl was basteln... auch macht das petSD+ Laufwerk aus jeder SEQ-Datei eine PRG-Datei.

    Diese kann dann eine echte 8050/8250/etc... nicht lesen, weil diese ja ein SEQ-File erwartet. Ich schreib also die Lade- und Speicherroutinen noch auf PRG-Files um, dann sollte das klappen. (Grob bereits getestet, indem ich beim Open-Befehl die Endung ",P,R" statt ",S,R" verwende.


    Es ist also noch viel zu tun, aber es macht RIESIG Spass! Der 4032 steht im Homeoffice direkt neben meinen Rechnern für Privates und Arbeit, so dass ich immer mal wieder weiterprogrammieren kann. Beide Programme wurden ausschließlich auf dem 4032 programmiert, nie auf einem PC mit VICE oder ähnlichem.


    Screenshots vorab ein paar vom Spiel:





    ...und vom Leveleditor:


    Unten links wird der Dateiname angezeigt, mit CLRHOME kommt man immer in diverse Menüs:



    Hier ein Teil der Menüs, immer in den ersten zwei Zeilen dargestellt, weil dann das Level auf dem Bildschirm nicht überschrieben werden muss:





    Was man nicht sieht auf den Bildern: Es können beliebige Grafikzeichen als Hintergrund angewählt werden (im Falle der Screenshots waren es jeweils einfach normale Punkte "."). Der Hintergrund wird dann auch als solcher behandelt, d.h. beim Löschen mittels INST DEL im Editor wird dieser wieder gezeichnet, sowie im Spiel bei Kollisionsabfragen und dem Zeichnen des Wurms entsprechend behandelt.


    Ich mach immer mal dran weiter, dann gibts auf alle Fälle einen Level-Bastel-Wettbewerb hier im Forum. Die besten 10 könnte man dann zusammen mit dem Spiel "ausliefern".


    Viele Grüsse,

    Matthias

    Einmal editiert, zuletzt von CBM_Ba ()

  • Hammer!

    Wenn ich doch nur einen funktionstüchtigen CBM hätte ;) :P

    Machen wir doch noch fit, Holger! ;)

    Allerdings laufen beide Programme aktuell nur auf 40-Zeichen Rechnern.

    Umschreiben auf 80 Zeichen werde ich noch angehen, Plan wäre sogar, eine automatische Umschaltung einzubauen... mal sehen, wie aufwändig das wäre.

    Dank eines holden Foristen hier habe ich erfahren, dass man mit Peek(213) rausfinden kann, ob es sich um einen 40- oder 80-Zeichen Rechner handelt.


    Auch läuft Ringpuffer nicht mehr auf einem 8k-Rechner, dazu ist das Programm viel zu groß mittlerweile.

    Somit sind die Systemanforderungen ein 2001-16N oder größer (3016/3032/4016/4032).

    Ich hoffe, dass es auf einem 16k-Rechner noch gut läuft. Liegt sicherlich auch an meiner Art, zu programmieren... ich bin wohl deutlich umständlicher unterwegs, als ein Kenner.


    Ich bleib dran, wird sich sicher noch ein bisserl ziehen.


    Was man mit dem Leveleditor jedoch auch machen kann: PETSCII-Grafiken zeichnen und wie Bilder abspeichern.

    Gibt sowas ja auch im Netz für viele Commodore-Rechner und Emulatoren.

    Auf dem CBM hatte ich noch keinen gefunden, der auch wirklich sichern/laden kann. Der 8-Bit-Guy hat auf seiner Seite einen solchen Editor zum Download bereitgestellt, dieser sichert jedoch nicht.

    Mit meinem Programm geht das, man lässt einfach die Startposition des Ringpuffer-Wurms weg. :)


    Viele Grüsse,

    Matthias

    Einmal editiert, zuletzt von CBM_Ba ()

  • Lustig wäre auch eine Diskettenversion mit passenden Labeln. Mal kucken!

    da kann dir @CommodoreMan bestimmt behilflich sein - er macht ja immer die Disks für die "DigitalTalk"


    https://nemesiz4ever.de/digita…6ffentlichte_Covergalerie

    ich bin signifikant genug:razz:

  • wollte das hier mal wieder "hochschubsen" ...



    und damit es schonmal was anzuschauen gibt, hübsche Videos zum Thema


    https://www.youtube.com/watch?v=UaOCT6EFKko

    https://www.youtube.com/watch?v=a9F6kRrvIsU

    Zona Cacing di Dunia Nyata


    und


    https://www.youtube.com/watch?v=RLr88-Z0Pmk

    Slither.io in Real Live 2

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries