Collab: Entwicklung eines TSB-Puzznic-Klons
-
Omega -
9. Februar 2024 um 12:42 -
Erledigt
Es gibt 1.089 Antworten in diesem Thema, welches 110.345 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Aber ich denke es ist durchaus spielbar. Oder, was meint ihr?
Herrlich! Ich liebe es jetzt schon! :emojiSmiley-173:
Zum Ladefehler: Du kannst die Ladezeile (auch die anderen, da musst du dann aber die richtigen Zahlenwerte für d!peek nachforschen) einfach ergänzen, z.B. so:
440 ifd!peek($c000)=160thend!poke$897c,$bfff:elseprintat(lin,1)"kein x!":end
Oder, wenn der Platz eng wird, mit st>0 statt d!peek($c000)=160.
Dann droht keine Gefahr mehr.
Arndt
Edit: Die JOY-Abfrage könntest du - wegen der vielen (langsamen) IFs - vielleicht mit ON..GOSUB machen?
-
Danke für die Tipss. Ich glaube der Cursor ist schon schnell genug. Wenn man ihn noch schneller macht, hat man die Steuerung vielleicht nicht mehr so gut im Griff. Oder? Was mich mehr stört ist, dass er nach dem Fallenlassen eines Steins relativ lange zu überlegen scheint. Aber ich kann keinen Grund dafür finden.
-
Ich hab mal zwei kleine Änderungen vorgenommen. Kommt mir vor, als käme die Reaktion jetzt schneller. Zuerst hab ich die Zeilen 2360 und 2365 ausgetauscht, d.H. jetzt kommt zuerst die Verzögerung und dann tut sich was:
Und dann hab ich in der Prozedur "teilsetzen" den Fall gl(2)=0 (was war das noch?) so behandelt, dass auch im ELSE-Zweig der MAP-Befehl verwendet wird:
Code1570 proc teilsetzen 1580 if gl(2)>0 then do 1590 : map gl(4)*2,gl(3)*2,chr$(gl(2)+34),fa%(0) 1600 else 1610 : map gl(4)*2,gl(3)*2," ",fa%(0) 1620 done 1630 end procOder trügt mich mein Gefühl?
Arndt
-
Danke. Ich werde das heute Abend mal überprüfen.
den Fall gl(2)=0 (was war das noch?)
Ich habe Bitte melde dich an, um diesen Link zu sehen. versucht das gl()-Array zu dokumentieren.
-
-
Edit: Die JOY-Abfrage könntest du - wegen der vielen (langsamen) IFs - vielleicht mit ON..GOSUB machen?
In Bezug auf on ... goto und on ... gosub bin ich noch jungfräulich.
Irgendwie erinnert mich das an Select Case ... End Select in Visual Basic. Aber wie funktioniert das eigentlich?
Nehmen wir mal folgendes hypothetisches Beispiel an.
Ich habe die Werte 7, 25, 52 und 73.
Bei 7 will ich zu Zeile 1000 springen.
Bei 25 will ich zu Zeile 2000 springen.
Bei 52 will ich zu Zeile 3500 springen.
Bei 73 will ich zu Zeile 4000 springen.
Das geht gar nicht, oder? Das geht nur wenn der auszuwertende Ausdruck 1, 2, 3 oder 4 ist. Hmmm.

-
Alles anzeigen
Edit: Die JOY-Abfrage könntest du - wegen der vielen (langsamen) IFs - vielleicht mit ON..GOSUB machen?
In Bezug auf on ... goto und on ... gosub bin ich noch jungfräulich.
Irgendwie erinnert mich das an Select Case ... End Select in Visual Basic. Aber wie funktioniert das eigentlich?
Nehmen wir mal folgendes hypothetisches Beispiel an.
Ich habe die Werte 7, 25, 52 und 73.
Bei 7 will ich zu Zeile 1000 springen.
Bei 25 will ich zu Zeile 2000 springen.
Bei 52 will ich zu Zeile 3500 springen.
Bei 73 will ich zu Zeile 4000 springen.
Das geht gar nicht, oder? Das geht nur wenn der auszuwertende Ausdruck 1, 2, 3 oder 4 ist. Hmmm.

Du könntest es ja so schreiben
Codeif a=7 then x=1 if a=25 then x=2 if a=52 then x=3 if a=73 then x=4 on x gosub 1000,2000,3500,4000jetzt mal so schnell aus der Hüfte geschossen
-
Bitte melde dich an, um diesen Link zu sehen. liefert genau die Werte 1 bis 8, was willst du mehr?
(Auch deshalb kam ich drauf.)Arndt
Edit: Und bitte, nimm GOSUB! Ich hasse GOTO...

-
Drachen: Ja, schon. Dann hat man aber wieder eine Reihe von IFs davor und was hat man dann gewonnen?
GoDot: Ist mir auch aufgefallen (man glaubt es kaum).
Ich habe mich nur gefragt, was man mit on sonst noch so anfangen kann. Wenn der auszuwertende Ausdruck nicht zufälligerweise eine lückenlos Reihe von Zahlen ergibt, nicht viel wie mir scheint. -
Wenn der auszuwertende Ausdruck nicht zufälligerweise eine lückenlos Reihe von Zahlen ergibt, nicht viel wie mir scheint.
Man kann das „trimmen“.
Arndt -
Alles anzeigen
Ich habe die Werte 7, 25, 52 und 73.
Bei 7 will ich zu Zeile 1000 springen.
Bei 25 will ich zu Zeile 2000 springen.
Bei 52 will ich zu Zeile 3500 springen.
Bei 73 will ich zu Zeile 4000 springen.
Das geht gar nicht, oder?
Doch, zurechttrimmen: Nehmen wir mal an, deine Werte stehen in der Variablen X. Dann könntest du deren Werte für ON so herrichten, dass es passt.
o = (x+5)/25+1ON o GOSUB 1000, 2000,3500,4000
Ergebnisse:
7 -> 125 -> 2
52 -> 3
73 -> 4
Voilà!
Arndt
-
Das ist wirklich sehr raffiniert. Und man braucht keine IFs dafür. Bleibt nur noch das klitzekleine Problem, dass man dafür ein Rechengenie sein muss. Vielleicht hilft's, wenn ich vorher meine Intelligenz-Tabletten nehme. Ach, wo sind die denn nur wieder?

-
Also in Assembler hätte ich jetzt gesagt, dass die Rechnerei langsamer ist als ein Vergleich von 2 Zahlen? Gerade eine Division?
-
Alles anzeigenAlles anzeigen
Ich habe die Werte 7, 25, 52 und 73.
Bei 7 will ich zu Zeile 1000 springen.
Bei 25 will ich zu Zeile 2000 springen.
Bei 52 will ich zu Zeile 3500 springen.
Bei 73 will ich zu Zeile 4000 springen.
Das geht gar nicht, oder?
Doch, zurechttrimmen: Nehmen wir mal an, deine Werte stehen in der Variablen X. Dann könntest du deren Werte für ON so herrichten, dass es passt.
o = (x+5)/25+1ON o GOSUB 1000, 2000,3500,4000
Ergebnisse:
7 -> 125 -> 2
52 -> 3
73 -> 4
Voilà!
Arndt
Da dürfen sich dann nur die Zahlen nicht mehr ändern.
Zumal ich ja nicht weis wofür denn die Zahlen 7, 25, 52, 73 stehen

Kann man das auch mit dem Joystick koppeln?
-
Zumal ich ja nicht weis wofür denn die Zahlen 7, 25, 52, 73 stehen

Kann man das auch mit dem Joystick koppeln?
Das sind nur irgendwelche ausgedachten Werte als Beispiel. In der Praxis braucht man so etwas früher oder später.
-
Hat jemand grafisches Talent? Ich bräuchte fünf Feen, die unterschiedlich stark aussehen.
Vielleicht hat ja jemand Lust etwas für dieses Spiel zu pixeln.
1.) Anfängerfee
2.) Erfahrene Fee
3.) Logikjongleurin
4.) Puzzle-Magierin
5.) Meisterin der Rätselreiche
Bildgröße: 48x80 Pixel, Hires, keine Farben, BMP oder PNG
-
Hat jemand grafisches Talent?
Retrofan ?
-
Da dürfen sich dann nur die Zahlen nicht mehr ändern.
Man kann für jede (vor allem kurze) Zahlenreihe einen Algorithmus finden. Wie man's halt braucht...
Jetzt soll's aber erstmal um Feen gehen (oh! reimt sich!
) 
Arndt
-
Hier mal ein Entwurf von mir. Wer kann das besser?
Bitte melde dich an, um diesen Anhang zu sehen.
-