Beiträge von WebFritzi im Thema „Darstellung möglich oder nicht? (15-Puzzle)“

    So, Leute. Für die, die es interessiert: anbei eine erste spielbare Version des Spiels mit 3 wählbaren Größen (3x3, 4x4, 5x5). Die Option 6x6 ist in Planung, solange genügend Chars für die Darstellung übrig bleiben. Aber im Moment sieht es diesbezüglich gut aus.

    Wenn ihr Designverbesserungen (oder Vorschläge anderer Art) habt, dann immer her damit. Wie seht ihr z.B die gelbe Farbe der Menu-Icons? Ich bin mir nicht ganz sicher, ob das designtechnisch ideal ist.

    So. Unten das erste Resultat - und ganz ohne Sprites. :smile: Das Dunkelblau hab ich mit nem Rasterinterrupt hinbekommen. Falls jemand dazu Verbesserungsvorschläge hat, hier ist er:

    Wer die Wahl hat, hat die Qual. Ehrlich gesagt, ist das sogar mein größtes Problem - also zu entscheiden, wie ich es überhaupt haben will. Meistens beginnt dann ein langer Entscheidungsprozess, indem die Vor- und Nachteile gewichtet und gegenübergestellt werden.

    Das erfahre ich nun auch schmerzlich. Ich habe mich nun für eure MC-Variante entschieden. Das heißt aber auch - wie du richtig festgestellt hast -, dass ich mein gewünschtes 3x6-Font vergessen kann. Also normale 6x6-Hi-Res-Characters. Und da die Schriftart konform sein soll, muss das Menu (Game|Help) dann auch in 6x6-Zeichen sein. Schade eigentlich, denn dein Entwurf sieht echt toll aus. Auch die Titelleiste, die ich dann wohl mit (mehr als 2) Sprites realisieren muss.

    Ah, OK, Maus. Ich würd das ganze halt mit Joystick (oder Cursortasten) spielen. Einfach in eine Richtung drücken und das einzig mögliche Tile (je Bewegungsrichtung) bewegt sich auf das freie Feld. Ist aber wohl wurscht, welchen Weg man da gehen will – ich hatte da nur einen ganz anderen Bedien-Ansatz im Kopf.

    Aha, alles klar. Dann musst du natürlich das gerade angewählte Tile markieren. Ja, bei mir soll ein Cursor-Pfeil mit wahlweise Joystick oder Maus gesteuert werden.

    Wie sieht es denn im Multicolor-Bitmap-Modus aus? Kann ich da auch - wie im Char-Fall - die Vordergrundfarbe auf einen der unteren Indizes setzen und so Hi-Res bekommen?

    Wie ich schon sagte: Das ist eine Besonderheit des Char-Modes.

    Ach ok, schade. Ich dachte, ich könnte so weiß auf dunkelblau in der Titelleiste schreiben.

    Ich würde gerne überall ein 3x6-Font einsetzen - auch in Menus, Dialogen, etc. Dafür bräuchte ich dann aber sehr viele Char-Definitionen.

    Gibt es denn (außer in den Tiles) dafür eine Notwendigkeit? Wird es sonst irgendwo eng? Oder möchtest du das einfach aus optischen Gründen?

    Das wäre aus optischen Gründen gewesen. Ich hätte auch gerne mal meine StringDisplay-Funktionen benutzt, die ich mal für einen solchen Zeichensatz geschrieben habe.

    Wozu muss man bei dem Spielprinzip einen "Button" drücken?

    Muss man nicht. Es geht mir um Esthetik. Wenn es hier nur um das Spielprinzip ginge, reichte eine einfache Zahlenmatrix im Char-Mode. Ich habe den Thread schon mit Absicht im Grafik-Forum platziert. :wink:

    - Du lässt den Rahmen um das Gesamt-Spielfeld nicht von innen wie bei den Buttons an die Char-Grenze stoßen, sondern von außen.

    So hab ich's auch im Charpad gemacht (siehe Bild).

    Das mit der Schrift ist so ne Sache. Ich würde gerne überall ein 3x6-Font einsetzen - auch in Menus, Dialogen, etc. Dafür bräuchte ich dann aber sehr viele Char-Definitionen. Wie sieht es denn im Multicolor-Bitmap-Modus aus? Kann ich da auch - wie im Char-Fall - die Vordergrundfarbe auf einen der unteren Indizes setzen und so Hi-Res bekommen?

    Ok, was bei dir im Bild meiner Meinung nach nicht geht, sind erstens dunkelblau und weiß auf einer Kachel (oben links) und das mittlere Grau für den Rahmen.

    Im Charpad sieht das bei mir wie im Anhang aus. Dabei sind zwei Buttons gedrückt. Ich habe das Ganze mit dem mittleren Grau anstatt Dunkelgrau realisiert. Das sieht meines Erachtens nach etwas besser aus. Kommt natürlich auch auf die Palette drauf an.

    Man kann im Multicolor-Char-Mode ja auch HiRes verwenden.

    Wie das? Ich dachte immer, entweder oder. Ja, oder halt mit Raster Split.

    Das mit den Farben hatte ich schon kapiert, nur "HiRes im Multicolor" nicht.

    EDIT: Aus deinem Wiki-Link: "Die höheren Farbindices (8-f) entsprechen hierbei den ersten acht Farben, schalten aber für das entsprechende Zeichen überhaupt erst den Multicolormodus ein. Wird einer der niedrigeren Farbcodes gewählt, so wird das Zeichen Monochrom mit dieser Farbe dargestellt. Somit ist es möglich, Mono- und Multicolorzeichen auf einem Bildschirm darzustellen, ohne aufwändige Darstellungstricks verwenden zu müssen."

    Alles klar. So kann's dann tatsächlich laufen.

    Wieso eigentlich keine Multicolor-Charset für den Zweck? Hellgrau als Hintergrund, Hellblau und Dunkelgrau als MC-Farben, Schwarz für Hires-Zahlen, Weiß+8 für die Rahmen.

    Weil dann die Pixel alle doppelt sind und ich mir nicht vorstellen kann, dass das gut aussieht. Und außerdem, weil man dann für den Text auf den Buttons sehr eingeschränkt ist.

    Mit Sprites hinter Grafik hab ich früher auch mal einen Minesweeper gemacht.

    Ach, du warst das! :smile: Natürlich hatte ich mir mehrere Minesweeper-Programmme angeschaut und habe deins als das beste befunden.

    atomcode Danke für deine Ausführungen.

    Inwiefern ist denn das Beispiel in Bitte melde dich an, um diesen Link zu sehen. noch nicht passend? Gibt es eine gemalte Vorlage, die das gewünschte Ziel zeigt, zunächst ungeachtet der Restriktionen?

    Naja, stell dir das unten angehängte Bild mit durchgezogenen weißen bzw. grauen Linien vor. Retrofan hat diese geschickt angedeutet bzw. überspielt.

    Retrofan Da mir das Ganze hier zu kompliziert wird bzw. ich nicht weiß, ob es überhaupt realisierbar ist, würde ich gerne deine Vorlage ausprobieren. Wäre das für dich ok? Ich habe vor ein 15-Puzzle-Spiel (Bitte melde dich an, um diesen Link zu sehen.) zu programmieren, siehe unten. Mit wahlweise 3x3-, 4x4-, und 5x5-Feld. Dein Bild aus dem anderen Thread und atomcodes Argumentation haben mich überzeugt.

    Die beiden linken Pixelspalten sind in meinem Beispiel in beiden Kacheln gleich, werden also nicht gemischt. Das Schachbrettmuster (Bit 5 bis 0) für die mittelgraue Farbe ist in den Kacheln verschieden, sodass sie beim Wechsel mit 50Hz gut gemischt werden und kaum Flimmern entsteht. Bei dem anderen Bild von Dir wäre das auch so, nur dass die dunkle Spalte als Zeile unten liegt, im mittelgrauen Bereich wieder das Schachbrettmuster, einmal dunkel auf hell, bei der anderen Kachel hell auf dunkel.

    Leider ergibt das nicht den gewünschten Effekt (siehe angehängtes Video). Zumindest sieht es im Emulator doof aus. Ich werd's gleich mal auf meinem U64 ausprobieren, glaube aber nicht, dass es dort besser ist. Mein Raster-IRQ sieht wie folgt aus (ich lasse mich bei Rasterline 0 benachrichtigen):

    EDIT: Auf der U64 sieht es ein klein wenig besser aus, aber man sieht schon krass, dass da eine Kachel flimmert.

    Oder was evtl. auch funktionieren könnte: Die Sprite-Priorität so ändern, dass sie hinter dem Bitmap-Inhalt liegen. Allerdings weiß ich nicht, wie das bei Hires aussieht. Wenn dadurch die Bitmap-Linien vor dem Sprite lägen, die Background-Color aber dahinter, dann bräuchte man das Sprite nicht umfärben, sondern man könnte einfach ein zweifarbiges Multicolor-Sprite verwenden. Die Hires-Bitmap-Linien würde dann die unerwünschten Teile der doppelt-breiten MC-Sprite-Linien abdecken. Das MC-Sprite könnte dann so aussehen:

    Das könnte echt funktionieren. Ich habe gerade neulich noch gelesen, dass die beiden Bitmap Nibble-Farben bei der Sprite-Priorisierung eine besondere Rolle spielen. Müsste man sich nochmal angucken oder einfach ausprobieren.

    Mir ist Folgendes noch aufgefallen: Selbst wenn ich das mit nem Sprite-Hack hinbekommen würde, müsste ich auch noch auf Klicks reagieren (die Sprites dementsprechend einfärben - und das nur für einen Button) und auf Dialoge, die über mein Fenster gelegt werden. Das würde super aufwändig werden. Deshalb probiere ich es jetzt doch erstmal mit der Lösung, wo Farben "gemischt" werden.

    Hoogo Vielen Dank für die Bemerkung. Im Moment verstehe ich es so, dass die Tatsache, dass die 21 Zeilen "gnadenlos" durchgezeichnet werden, mir keine Möglichkeit lässt, mein Vorhaben mit Hi-Res Sprites durchzuführen, weil die Farben stets wechseln.

    Ohne Raster-Interrupt und Sprite-Multiplexing sieht es erstmal wie unten aus.

    Das entspricht ja grundsätzlich schonmal meinem Vorschlag, die dritte Farbe in das Zeichen links von (bzw. über) dem jeweiligen Zeichen zu verschieben, also ein weiteres Zeichen mitzubenutzen, um die 2-Farben-Beschränkung einzuhalten.

    Ich hatte das Problem zu Anfang falsch erklärt. Im weiteren Verlauf des Threads habe ich noch ein anderes Problembild gepostet, auf dem dargestellt ist, was ich erreichen möchte. Das sind genau die Lücken in meinem letzten Bild, die ich mit Sprites auffüllen möchte.

    Deinen Vorschlag (Bild) finde ich interessant, aber es ist nunmal nicht das, was ich erreichen möchte. Aber deine Zahlen finde ich schick. :smile:

    Was hältst du eigentlich von 3x6-Fonts? Ich benutze momentan ein 3x7-Font, was in den Buttons ganz ok ist, aber in der Titelleiste des Fensters grenzt die obere Berandung genau an den Titelstring. Das sieht nicht so toll aus.