Erstellt: 28. April 2013 (zuletzt geändert: 1. November 2021)

Puzzle 002

Der Hintergrund

C64 Studio

Nach unserem Startbild aus den letzten Beitrag, werden wir jetzt unseren Hintergrund für das Puzzle-Spiel anzeigen lassen.

Entwerfen wir zunächst unser Hintergrundbild fürs Puzzle. Dabei greife ich jetzt etwas auf die Sprites vor, wir müssen nämlich den benötigten Platz für unsere Puzzleteile beachten. Die Teile werden wir mit Multicolor-Sprites realisieren. Diese sind max. 12 Punkte breit, wobei jeder Punkt aber wieder den Platz von zwei Pixeln auf dem Bildschirm in Anspruch nimmt. Die max. Höhe von Sprites beträgt immer 21 Zeilen, mit Tricks ist hier übrigens auch mehr drin. Wir werden die Sprites auch noch in ihrer Breite und Höhe verdoppeln, somit ergibt sich eine max. Größe auf dem Bildschirm von 48 * 42 Pixel. Buchstaben und Grafikzeichen haben beim C64 eine Größe von 8 * 8 Pixeln, damit unsere Sprites perfekt in den vorgesehenen Bereich passen, sollten wir dafür sorgen, dass die Sprites später exakt 40 * 40 Pixel auf dem BS beanspruchen. Unsere „Lücke“ für die Puzzleteile, muss dann pro Teil fünf Zeichen (5 * 8 Punkte = 40 Punkte) in X- und Y-Richtung Platz lassen.
Um es uns bei der Positionierung der Sprites einfacher zu machen, achten wir noch darauf, dass die max. X-Position unserer Sprites später unter 256 liegt. Dann benötigen wir das 9. Bit nämlich nicht! Was damit genau gemeint ist, werdet ihr bei den Sprites sehen.

Der Puzzle-Hintergrund

Ich habe das Spielfeld zweigeteilt, links wird gepuzzelt (die roten und grünen Drähte müssen verbunden werden) und rechts ist noch Platz für zusätzliche Infos (Punkte, Leben, restliche Zeit…).
Entwerft also euren Hintergrund und speichert ihn als „Background.charscreen“. Auch hier solltet ihr zumindest die Position der Puzzleteile und den rechten Rand nicht ändern, damit später alles problemlos passt, den Rest könnt ihr aber nach euren Wünschen anpassen.

Das Programm

Um den Hintergrund jetzt anzuzeigen, müssen wir unser Programm nur geringfügig verändern. Vom Hauptprogramm main, springen wir in unsere eigene Puzzle-Routine puzzleMain. Diese zeigt zunächst den Hintergrund an und arbeitet dann in einer Endlosschleife puzzleMainLoop alle Eingaben ab, bis entweder die Aufgabe gelöst oder die Zeit abgelaufen ist. Bisher gibt es noch nichts zu verarbeiten und kein Ende, daher haben wir hier einfach erstmal eine Endlosschleife die nichts weiter macht.

Die Änderungen sähen dann so aus:

main
 jsr showScreen_Title              ;Startbildschirm anzeigen
 jsr puzzleMain                    ;das Puzzle starten
 rts                               ;Zurück zum BASIC

;*******************************************************************************
;*** Das Puzzlespiel starten
;*******************************************************************************
!zone puzzleMain
puzzleMain
 lda #COLOR_BLACK                  ;Schwarz in den Akku und
 sta VICBACKGROUNDCOLOR            ;Hintergrundfarbe setzen
 lda #COLOR_BLACK
 sta VICBORDERCOLOR                ;als Rahmen- und

 ;*** StartBS anzeigen
 ldx #<screenPuzzle                ;LSB des Hintergrundbildes ins X-Register
 ldy #>screenPuzzle                ;MSB des Hintergrundbildes ins Y-Register
 jsr drawScreen                    ;Bild anzeigen

;*******************************************************************************
;*** Eingabeschleife für das Puzzle
;*******************************************************************************
puzzleMainLoop                     ;Start der Endlosschleife
 jmp puzzleMainLoop                ;Endlosschleife

Außerdem müsst ihr am Ende des Programms, hinter screenTitel, noch die folgenden Zeilen einfügen:

;*** unser Hintergrundbild für das Puzzle
screenPuzzle
 !media "Background.charscreen",charcolor

Jetzt sollte das Programm ausführbar sein und euch zunächst den Startbildschirm anzeigen, mit einem Druck auf den Feuerknopf seht ihr dann den Puzzlebildschirm.

Titel und Puzzlehintergrund

Sorry, aber für die Vorbereitung der Sprites benötige ich doch etwas länger als geplant (der allgemeine Beitrag über Sprites ist zwar fast fertig, aber die Umsetzung für LOVE fehlt noch), daher muss ich euch aufs nächste Mal vertrösten.


Auch wenn sich nicht viel allzuviel getan hat:


Schrott!!Naja...Geht so...Ganz gut...SUPER! (11 Bewertungen | Ø 5,00 von 5 | 100,00%)

Loading...


ZurückWeiter

4 Gedanken zu „Puzzle 002“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Protected by WP Anti Spam