CPC Wiki Forum Die Amstrad-CPC-Community

Suche Spiel "Shniders Maze" oder so ähnlich

Rozpoczęty przez oobdoo · 2015-02-07 13:45 · Odpowiedzi: 27 · Wyświetlenia: 187
#1
Moin,

ich suche folgendes Spiel: "Shniders Maze"

Der Name klang so oder ähnlich. War ein CPC-Listing in einer Zeitschrift. Ich mein das war komplett in BASIC.
Ich weiß aber nicht mehr in welcher Zeitschrift das abgedruckt war.
Compute Mit und CPC International habe ich soweit vorhanden schon durchgeschaut.

In der Happy Computer war es voraussichtlich nicht enthalten.
Da suche ich immer noch diese 3D-Demo für den CPC in BASIC. Auch noch nicht gefunden.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#2
Sowas aber auch. Keine 2 Sekunden späte habe ich es über Google gefunden.  :00008351:
Muß neu sein im Web.

http://cpcrulez.fr/GamesTest/snider_s_maze.htm

Dann fehlt nur noch die 3D-Demo.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#3
Meinst Du die Animation mit den Amiga-Bällen, die im Kreis springen?
👍 0👎 0
#4
Nee, ich mein das war nur ein sich drehender Würfel (als Gitter). Das war ein sehr kurzes BASIC-Programm.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#5
Achso...
Ich versuch das nachher mal zu programmieren, sollte ja simpel sein... dürfte allerdings recht flimmern...
👍 0👎 0
#6
Naja, Sultans Maze war ja auch BASIC, hatte das nicht das FILL Kommando benutzt? Das ist zwar gut, aber nicht gerade schnell.
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 30.05.2026)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)
Ostatnio edytowany przez TFM w dniu 2015-03-31 19:24
👍 0👎 0
#7
Hier mal mein Versuch, einen drehenden Würfel in BASIC zu programmieren...
(Verwendet einen Doppelten Puffer, so flimmert es etwas weniger)

10 DEG:RESTORE 100:FOR t=0 TO &B:READ a$:POKE &A000+t,VAL(a$):NEXT:CALL &4000:MODE 1:CALL &4006:MODE 1
20 t=0
30 IF h=1 THEN CALL &A000:OUT &BC00,12:OUT &BD00,&30 ELSE CALL &A006:OUT &BC00,12:OUT &BD00,&10
40 FOR k=0 TO 270 STEP 90:MOVE 320+(80*SIN(t+k)),200+(24*COS(t+k)):DRAW 320+(80*SIN(t+k+90)),200+(24*COS(t+k+90))
50 MOVE 320+(80*SIN(t+k)),100+(24*COS(t+k)):DRAW 320+(80*SIN(t+k+90)),100+(24*COS(t+k+90))
60 MOVE 320+(80*SIN(t+k)),200+(24*COS(t+k)):DRAW 320+(80*SIN(t+k)),100+(24*COS(t+k)):NEXT
70 IF h=1 THEN CALL &A006:OUT &BC00,12:OUT &BD00,&10:CLS:CALL &A000 ELSE CALL &A000:OUT &BC00,12:OUT &BD00,&30:CLS:CALL &A006
80 IF h=1 THEN h=0 ELSE h=1
90 t=t+10:GOTO 30
100 DATA &3E,&40,&CD,&08,&BC,&C9,&3E,&C0,&CD,&08,&BC,&C9
Ostatnio edytowany przez Devil-System w dniu 2015-02-22 20:10
👍 0👎 0
#8
Cool. Muß ich bei Zeiten mal Abtippen.  ;D
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#9
Ein Fehler ist in Zeile 10... Die 2 CALLs müssen nicht &4000 und &4006 lauten, sondern &A000 und &A006.

Hier noch ein Zusatz, um das Löschen der Bilder im Buffer etwas zu beschleunigen:

10 DEG:RESTORE 100:FOR t=0 TO &B:READ a$:POKE &A000+t,VAL(a$):NEXT:CALL &A000:MODE 1:CALL &A006:MODE 1:WINDOW 15,26,10,22


Für die Assemblerinteressierten:
Die Routine zum Bildschirm umadressieren (Welche in dem Listing gepoked wird)

		org		&a000
4000
		ld		a,&40
		call		&bc08
		ret
c000
		ld		a,&c0
		call		&bc08
		ret


Und für die Faulen: Das DSK....
📎 quader.dsk
Ostatnio edytowany przez Devil-System w dniu 2015-02-23 00:31
  • 💾quader.dsk190.3 KB · 5 pobrań
👍 0👎 0
#10
Manchmal ist es recht sinnvoll, solchen Code auch bei Facebook zu posten.

Dies hier ist eine wesentlich schnellere Routine, welche aus einer Zeitschrift stammt, und noch etwas optimiert wurde:

10 MEMORY &3FFF:ON BREAK GOSUB 110:DEFINT a-z:DEG:fx=250:fy=-1000:fz=500:mx=320:my=200:mz=150:k=178:flag=-1:MODE 2:PRINT"Cube (1) or Tetrahedron (2) ?"
20 k$=INKEY$:IF k$<"1" OR k$>"2" THEN 20 ELSE scrbase=&B7C6:proc=VAL(k$):CLS:PRINT"Wait...":IF k$="1" THEN lw=8:lo=9:RESTORE ELSE lw=4:lo=12:k=210:RESTORE 100
30 DIM a(lw),b(lw),c(lw),u(lo,lw),v(lo,lw):FOR i=1 TO lw:READ x!,y!,z!:a(i)=x!*k:b(i)=y!*k:c(i)=z!*k:NEXT:FOR n=1 TO lo:si!=SIN(n*10):co!=COS(n*10):
40 FOR i=1 TO lw:x=a(i)*co!-b(i)*si!+mx:y=a(i)*si!+b(i)*co!+my:z=c(i)+mz:u(n,i)=(fy*x-y*fx)/(fy-y):v(n,i)=(fy*z-y*fz)/(fy-y):NEXT:NEXT:MOVE 1,1,1
50 WINDOW#7,26,52,7,20:BORDER 0:INK 0,0:INK 1,26:n1$="This is example of '":n2$=" 100% Basic only!":CLS:PRINT n1$"DOUBLESCREEN'"n2$:POKE scrbase,&40:CLS:PRINT n1$" '"n2$
60 FOR n=1 TO lo:flag=NOT(flag):OUT &BCFF,&C:IF flag THEN OUT &BDFF,&10:POKE scrbase,&C0 ELSE OUT &BDFF,&30:POKE scrbase,&40:DATA -.5,.5,.5,.5,.5,-.5,-.5,-.5
70 CLS#7:ON proc GOSUB 80,100:NEXT:GOTO 60:DATA -.5,.5,-.5,.5,-.5,.5,-.5,.5,.5
80 MOVE u(n,1),v(n,1):DRAW u(n,7),v(n,7):DRAW u(n,4),v(n,4):DRAW u(n,6),v(n,6):DRAW u(n,1),v(n,1):DRAW u(n,5),v(n,5):DRAW u(n,3),v(n,3):DRAW u(n,8),v(n,8):DRAW u(n,2),v(n,2):DRAW u(n,5),v(n,5):
90 MOVE u(n,7),v(n,7):DRAW u(n,3),v(n,3):MOVE u(n,4),v(n,4):DRAW u(n,8),v(n,8):MOVE u(n,6),v(n,6):DRAW u(n,2),v(n,2):RETURN:DATA .5,-.5,-.5,.5,.5,-.5,-.5
100 MOVE u(n,4),v(n,4):DRAW u(n,1),v(n,1):DRAW u(n,2),v(n,2):DRAW u(n,3),v(n,3):DRAW u(n,1),v(n,1):MOVE u(n,2),v(n,2):DRAW u(n,4),v(n,4):DRAW u(n,3),v(n,3):RETURN:DATA 0,0.577,-0.272,-0.5,-0.289,-0.272,0.5,-0.289,-0.272,0,0,0.544
110 OUT &BCFF,&C:OUT &BDFF,&30:POKE scrbase,&C0:CLS:LIST


Die Methode ist deswegen schneller, weil die einzelnen Positionen Vorberechnet werden!

Anbei das geänderte DSK (RUN"CUBE"😉:
📎 quader.dsk
  • 💾quader.dsk190.3 KB · 5 pobrań
👍 0👎 0
#11
Danke.  ;D
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#12
In cube.bas ist in Zeile 40 ein Syntax Error.

Find den aber nicht...  :banghead:
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#13
Hier nicht. Lad das DSK nochmal runter. Braucht das Listing BASIC 1.1?
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 30.05.2026)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)
👍 0👎 0
#14
Sieht sehr nach BASIC 1.1 aus.
Es wird wohl am MOVE 1,1,1 liegen.
BASIC 1.0 kennt hier nur x,y Koordinaten.
👍 0👎 0
#15
— Devilmarkus
Sieht sehr nach BASIC 1.1 aus.
Es wird wohl am MOVE 1,1,1 liegen.
BASIC 1.0 kennt hier nur x,y Koordinaten.


Ja, genau! Und unser Freund hier hat einen CPC464...

— oobdoo
Hatte mich dann überreden lassen, einen Schneider CPC 464 zu nehmen.  :gruebel:


Also, dann lass Dich jetzt mal zum CPC 6128 oder zur X-MEM überreden. In die X-MEM kann nämlich das BASIC 1.1 installiert werden 😉
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 30.05.2026)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)
👍 0👎 0
#16
Jo stimmt. Als 6128 läuft es.  🙂

Auch wenn ich die Mathematik dahinter bis heute nicht versteh, so fasziniert mich so ein 3D bis heute.

Wollte damals immer
http://www.youtube.com/watch?v=Fv57PqiwTI8
nachprogrammieren, hatte aber leider keine Ahnung davon. 🙁
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
Ostatnio edytowany przez oobdoo w dniu 2015-02-24 17:58
👍 0👎 0
#17
Sorry, hab grad an deinem Post rumgemacht, bei https muss das s weg, sonnst zeigt das Forum nix an.

Naja wenn Du etwas in 2 D in X und Y darstellst, dann kannst Du eine Z Achse (also in Blickrichtung) hinzufügen durch so etwas

X = X/Z

Mit zunehmender Entfernung wird X kleiner und rückt näher in den Mittelpunkt. Die Werte für Z müssen hald in einem Bereich gewählt werden, in dem es noch Sinn macht.

Hier einer mein ewigen Lieblings-Teile einer Demo, ein sehr gutes Beispiel:
http://www.youtube.com/watch?v=Kqu4UiTmVbc
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 30.05.2026)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)
Ostatnio edytowany przez TFM w dniu 2015-02-24 18:05
👍 0👎 0
#18
Hm, ich tippe gerade das Listing dazu ab.

Da steht in Zeile 2050 ein ^ kann es aber auf der Tastatur nicht finden.  :banghead:

Wer weiß Rat???
📎 snider_s_maze.pdf
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#19
Ist es nicht auf dem CPC die zweite Taste rechts neben der 0?
Dann sollte es im Emu genauso sein: "´`" Taste... rechts neben ß
👍 0👎 0
#20
Es ist der Pfeil nach oben auf der CPC-Tastatur.
Hätte ich auch gleich drauf kommen können, aber manchml sieht man den Wald vor lauter Bäumen nicht.  :banghead:

Ein ? 2^2 im Direktmodus zeigt ja ob es das richtige Zeichen ist.  😉
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0

Zaloguj się, aby pisać