UPDATE:
Scoreanzeige überarbeitet. Die erscheint jetzt direkt nach dem Start und nicht erst nach dem ersten Schritt.
Jetzt mit 17 Leveln.
Viel Spass damit
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von drazil am
UPDATE:
Scoreanzeige überarbeitet. Die erscheint jetzt direkt nach dem Start und nicht erst nach dem ersten Schritt.
Jetzt mit 17 Leveln.
Viel Spass damit
Wahnsinn und das in so einem kleinen Programm. Kannst du da die Geschwindigkeit noch optimieren bzw. mehr rausholen? Der erste Start dauert ja einiges; auch im Emulator.
Die Wartezeit am Anfang werde ich wohl nicht verkürzen können.
Da werden erstmal alle DATA Werte ins RAM ab $8000 geschrieben. Das dauert halt.
Wenn ich Zeit habe werde ich mich mal an einer ASM Lösung versuchen. Die ist dann auf jeden Fall schneller.
Und als Nachlader direkt ins RAM laden lassen, würde das länger dauern? Ich frag da nur, weil ich so einen Vergleichstest noch nicht gemacht habe. Rechne aber damit, daß das rein-POKE-n ins RAM schneller geht als das Nachladen, oder?
Nein, Nachladen wäre schneller, denn dann ist jedes Byte gleich an Ort und Stelle. Wenn man hingegen POKEt, müssen ja vorher auch die DATA-Zeilen geladen werden, und darin sind die Daten drei- bis viermal so groß wie nötig.
Es ist ja auch immer noch erstmal ein Spiel für die 10 Liner Competition. Und da ist nachladen auch nicht erlaubt.
Was ich später draus mache, mal sehen.
Kurze Zwischenfrage: Womit hast du die überlangen Zeilen gemacht? Ich hab mir da zwar schon selber was gebastelt, da ist aber noch etwas Handgefrickel dabei.
Ich nehm da einfach Endurion's C64-Studio. Das meckert automatisch wenn die Zeilen beim Bytecode erzeugen zu lang sind.
Ich nehm da einfach Endurion's C64-Studio.
Ach. Wusste ich nicht, dass das dort geht. Mach ja viel mit dem Studio, den BASIC-Teil aber bisher nie angerührt. Dann gucke ich mir das da mal an. Danke!
Hab nur die letzte Version hier probiert.
Bei Level 2 zumindest stimmt die Ziel-Abfrage nicht.
Man kann den Ball über das untere grüne Feld schieben, dann zählt es, schiebt man noch ein Feld weiter, dann bleibt der Zielcounter bei 1. Wäre mit der Zielvorgabe ansonsten auch nicht lösbar.
p.s. Respekt. Straffer Code. Ich hab einen Sokaban Clone auch auf C64 und Amiga programmiert, sogar mit schönem Editor, aber da war der Code natürlich ordentlich aufgeblasen.
Doch lösbar ist es schon :
U R R U R R D L L D L L U R D R D R U U R U U L D L D U R R D L D L U L L D R
Probiers mal aus.
Aber ein Fehler scheint tatsächlich noch drin zu sein
Verdammt, ich hab's geahnt.
Aber irgendwie bleiben die Level auf dem Level.
Schon spät, vielleicht besser morgen mal ausgeschlafen angehen.
Gibt's eine Undo Taste? Oder S für Solution?
Gibt's eine Undo Taste? Oder S für Solution?
Das nicht, aber ein (R)eset für den aktuellen Level
So, der Fehler sollte nun korrigiert sein.
Gibt's eine Undo Taste? Oder S für Solution?
Noch was, falls Du es nicht gelesen haben solltest.
Man kann einen laufenden Level auch mit (C)ancel abbrechen und anschließend mit (N)ext zum nächsten Level springen.
Ich hab einen Sokaban Clone auch auf C64 und Amiga programmiert
Zeigt doch mal her. Das interessiert mich.
Jo, Level 2 Bug ist weg. Taste R (Retry / Restart hatte ich zuvor schon rausgefunden. C dann beim Nachlesen hier im Fred. Danke Danke.
Meine C64 Version ist irgendwo verschütt gegangen :(, vielleicht find ich's noch. War aber wie deines auch nur im Charset-Stil und nicht ausgearbeitet.
Die Amiga Version war dann schon schicker mit get/put Grafik und Editor - mit dem ich auch nur die Level des Originals übertragen habe. Level werden einzeln nachgeladen.
Da fehlte aber auch noch der finale Feinschliff. Den Amiga Basic Code hatte ich dann (wie ich gerade wieder sehen muss) vor URZEITEN auf den PC rübergeschaufelt.
Screenshots: (DOSbox sei Dank!)
Sieht doch echt gut aus.
Joa, danke, in den 90ern war's noch ganz ok.
Deine Level sind so schön klein (und *knifflig*), da könnte man glatt 2-4 Spielfelder auf einen Screen packen und eine Micro Moves Multiplayer Versus Version einbauen. Gegeneinander auf Zeit/Züge und dabei moves abgucken wäre bestimmt spaßig. Multiplayer Co-op wäre auch cool und würde neue Rätselmöglichkeiten schaffen. Dann noch neue Elemente, wie Schalter, unterschiedlich große Kisten, Einbahnstraßen usw. ... aber dann könnte man es auch gleich in Micro Kwirk umtaufen. ;D
Das ist übrigens die 'PicoLevel' Serie von www.sourcecode.se/sokoban/levels
Ich habe nur den Converter dazu geschrieben.