Basic Mega65 - Boulder Dash

Es gibt 413 Antworten in diesem Thema, welches 78.858 mal aufgerufen wurde. Der letzte Beitrag (2. Juni 2025 um 15:42) ist von Endurion.

  • Snoopy hat bis jetzt auch noch keine Lösung gefunden.

    Ich bin immer noch dran und komme näher. Noch ein kleines bisschen Geduld! ;)

    :D:drink::DJ:woot::rasen:wurm::tanz::thanx::thnks:

    Bitte! Ich habe es soweit hinbekommen. Schau mal hier:

    Bitte melde dich an, um diesen Link zu sehen.

  • Muss das Projekt erstmal auf Eis legen, da ich jetzt für zwei Wochen im Urlaub bin! Deshalb kann ich auch keine Fragen beantworten.

    Der aktuelle Stand:

    Kleiner Bugfix beim Glühwürmchen, das Bewegt-Flag hatte das falsche Grafikzeichen. Auf die schnelle unten eine Status Zeile eingebaut.

    Man hat weiterhin nur ein Leben, das erzeugt einen schönen Zeitdruck, besonders im zweiten Level, wo man 75 Diamanten einsammeln muss. Achtung bei Timeout wird das Programm beendet, hehe.

  • Muss das Projekt erstmal auf Eis legen, da ich jetzt für zwei Wochen im Urlaub bin! Deshalb kann ich auch keine Fragen beantworten.

    Der aktuelle Stand:

    Kleiner Bugfix beim Glühwürmchen, das Bewegt-Flag hatte das falsche Grafikzeichen. Auf die schnelle unten eine Status Zeile eingebaut.

    Man hat weiterhin nur ein Leben, das erzeugt einen schönen Zeitdruck, besonders im zweiten Level, wo man 75 Diamanten einsammeln muss. Achtung bei Timeout wird das Programm beendet, hehe.

    So dann wünsche ich dir einen schönen und erholsamen Urlaub mit deiner Familie.

    Ich habe hier mal das Titelbild gemacht. Änderungen werden immer angenommen. :D

    Bitte melde dich an, um diesen Anhang zu sehen.

    Das Spiel werde ich natürlich Testen. Ach wird das ein Spass :D

  • "BASCI" find ich cool... :wink:

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • "BASCI" find ich cool... :wink:

    Arndt

    :schreck!::honk::platsch::platsch::platsch::platsch:

    Jetzt könnte ich sagen liegt am Alter, das wäre aber eine blöde Ausrede. Oder wie wäre es mit " Ich wollte euch nur testen, ob ihr was merkt"

    Aber die Wahrheit ist, ich war ein wenig schusselig. Gut, ich werde es mal geschwind änderen.

    Ta Ta und hier ist die Verbesserung

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Gut, ich werde es mal geschwind änderen.

    Ich muss mal blöd fragen: Hast du das Titelbild selbst gepixelt oder aus einem vorhandenen Bild erweitert? Und in welchem Format liegt das vor?

    Es ist zwar schon Decaden her, aber es erinnert mich an eine Amiga Version.

  • Gut, ich werde es mal geschwind änderen.

    Ich muss mal blöd fragen: Hast du das Titelbild selbst gepixelt oder aus einem vorhandenen Bild erweitert? Und in welchem Format liegt das vor?

    Also ich verschiedene Bild herrangezogen.

    Dieses Bild habe ich als Grundlage genommen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Die Bilder mit der höchsten Auflösung habe ich dann genommen und in PhotoShop dann wieder zusammen gestzt. Der Schriftzug "boulder dash" habe ich dann auf der Seite

    Bitte melde dich an, um diesen Link zu sehen. erstellen lassen. Und dann im PhotoShop die Farben geändert. Noch liegt das Format in keine C64-Format vor. Wollte erst mal wissen ob so in Ortnung ist.

    Was ich mich auch frage ob ich noch das Logo von First Star Sofware einbauen soll.

    Aber jetzt ist ja erstmals Acron in den Urlaub gegangen, also wird der Einbau noch noch eine weile auf sich warten müssen.

  • Ich beschäftige mich gerade mit der Statuszeile, das ist leider mehr Arbeit als gedacht, wie immer. Man könnte jetzt meinen ein PRINT"Diamanten: "MG" " Zeit: "ZT" Punkte: "PT und fertig ist die Zeile. Aber leider gibt Print die Variablen immer mit ein Space als Platzhalter aus und die Ausgabe ist auch noch von der Anzahl der Stellen abhängig. Zu guter Letzt wird auch noch bei voller Zeilenlänge ein Zeilenvorschub ausgelöst.

    Meine jetzige Lösung ist eine Mischung aus Print mit Poke, um das Space zu kaschieren. Am Zeilenende für den Punktezähler verzichte ich komplett auf Print und setze voll auf PEEK&POKE. Alles in allem ein wildes Gefummel, nur um das ganze mit Print hinzubiegen und dann flimmert das auch noch ab und zu, gefällt mir so gar nicht. Wenn man Sleep aus Zeile 95 entfernt, sieht man das Flimmern bei Print besser.

    Gibt es vielleicht eine einfache Lösung in Basic.

    Nur mal so eine Idee. Ist sicher nicht die schnellste Lösung und führt parallel zu den Integer-Variablen noch String-Äquivalente ein. Das kann man aber sicher optimieren.

    Code
    10 MG=999:ZT=999:PT=999999
    11 FOR I=0TO4-LEN(STR$(MG)):MG$=MG$+" ":NEXT:MG$=MG$+STR$(MG)
    12 FOR I=0TO4-LEN(STR$(ZT)):ZT$=ZT$+" ":NEXT:ZT$=ZT$+STR$(ZT)
    13 FOR I=0TO7-LEN(STR$(PT)):PT$=PT$+" ":NEXT:PT$=PT$+STR$(PT)
    20 PRINT "MENGE:";MG$;" ZEIT:";ZT$;" PUNKTE:";PT$

    Mit verschiedenen Werten für die Variablen sieht das dann so aus

    Bitte melde dich an, um diesen Anhang zu sehen.

    Schönen Urlaub erstmal :smile:

    EDIT: achja, der Zeilenvorschub bei voller Zeile sollte unterdrückt werden, wenn du das Print wieder mit einem Semikolon abschließt ;

    YouTube Kanäle über Basic, den C128 und den VDC-Chip
    Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.
    Commodore 8-Bit Projekte
    auf Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. zu Commodore 8-bit Hardware
    auf printables.com
  • Muss das Projekt erstmal auf Eis legen, da ich jetzt für zwei Wochen im Urlaub bin! Deshalb kann ich auch keine Fragen beantworten.

    Der aktuelle Stand:

    Kleiner Bugfix beim Glühwürmchen, das Bewegt-Flag hatte das falsche Grafikzeichen. Auf die schnelle unten eine Status Zeile eingebaut.

    Man hat weiterhin nur ein Leben, das erzeugt einen schönen Zeitdruck, besonders im zweiten Level, wo man 75 Diamanten einsammeln muss. Achtung bei Timeout wird das Programm beendet, hehe.

    Ich habe mir das Programm heute mal ein bisschen angeschaut.

    Der Boulder Dash-Spieleablauf ist mir leider nach wie vor ein Rätsel, aber zumindest an einer Stelle kann ich einen Optimierungstipp geben. Es wird öfter mit IF PEEK(...) =. THEN <mach was> auf den Wert 0 an der Speicherstelle abgefragt.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Hier lassen sich im BASIC 65 ein "paar Bruchteile von Sekunden" herausholen, wenn man stattdessen

    IF PEEK(...) THEN:ELSE <mach was>

    verwendet. Hier kann man sich den Umstand, dass bei der IF-Bedingung alles außer 0 als "WAHR" gesehen wird, zum Vorteil machen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Man spart sich den Vergleich auf Null ( =. ) und somit "etwas Zeit", was bei einer Anweisung zu vernachlässigen ist, aber wenn das in einer Schleife mehrmals durchlaufen wird, macht sich das durchaus bemerkbar.


    Hier mal ein einfacher Vergleich (mit ROM 920376):

    Es wird in die linke obere Ecke entweder "@" (Code 0) oder das "Pikzeichen" (Code 65) geschrieben. Und dann mit einer Schleife 30000 Mal mit PEEK($0800) überprüft, ob das Zeichen 0 ist (Ich liebe realistische Testprogramme! :D ). Hierbei wird die benötigte Zeit gemessen und die Variable C ausgeben, die entweder 1 (falls Code 65) oder 0 (falls Code 0) ist.

    Hier erstmal die Methode mit =. :

    Bitte melde dich an, um diesen Anhang zu sehen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Und hier die Methode ohne =. :

    Bitte melde dich an, um diesen Anhang zu sehen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Die unteren Zeiten sind ca. 13% bis 14% schneller als die oberen, also durchaus "spürbar".

  • Hi

    Habe mal das Menübild entworfen mit Animation, ohne Assembler

    Bitte melde dich an, um diesen Anhang zu sehen.

    Und hier das Programm

    Bitte melde dich an, um diesen Anhang zu sehen.

    Bin gespannt ob das Acron gefällt. Eventuell muss ich die zeichen änderen, da der Zeichsatz von Boulder bei Bildschirmcode 0 beginnt.

  • Goodwell: Das ungewünschte Scrolling kannst du ja auch unterdrücken, wenn du anfangs mal ein PRINT CHR$(27)"M" ausgibst.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • So habe das Menüe noch einmal im Code etwas abgeändert.

    Hoffe Acron du kannst damit was anfangen.

    Bitte melde dich an, um diesen Anhang zu sehen.

  • hey guys! I want to join your team for any future mega65 projects! I only code in basic65 or want to code in basic65!! Please, please, can I join your team??!

  • hey guys! I want to join your team for any future mega65 projects! I only code in basic65 or want to code in basic65!! Please, please, can I join your team??!

    Welcome here to the forum xboxown1200. if you want to join proketen, just follow the forum here. If then one starts a project here, just ask if you can join. It no one rejected who wants to make with.

    The project Boulder Dash is as good as finished, but the main programmer is now gone on vacation and therefore the project is now resting. I am sure that sometime a new project will start.

    So we will see each other here in the forum soon again.

  • Wait, you said the boulderdash program is finished? May I have the link or download for the complete and full finished boulderdash with it's title and everything?

  • Wait, you said the boulderdash program is finished? May I have the link or download for the complete and full finished boulderdash with it's title and everything?

    He said "as good as finished", so no, it's not finished yet ;) you can find the Downloads within this thread to try ist out:)

    "Werter Pöbel, wertes Gesocks ... aus dem Arsche zieht euch den Stock ..."