Ghost Manor
Sie sind in Gestalt eines kleinen Männchens tief unten im Kerker eines alten Schlosses gefangen. Ihr Ziel ist es, aus diesem Schloß zu entkommen. Dazu müssen Sie natürlich erst einige Hindernisse überwinden.

An dieser Stelle ist auf die mehr oder weniger komplizierten Speicher- und Ladevorgänge des Programms hinzuweisen. Das Programm besteht aus drei Teilen (Listing 1 bis 3), welche in der Reihenfolge Grafik — Maschinensprache — Hauptprogramm eingetippt und auf Kassette gespeichert werden sollten. Um endlich spielen zu können, müssen alle drei Teilprogramme in der gleichen Reihenfolge geladen und gestartet werden. Haben Sie den Ladevorgang beendet, wird das Spiel durch die Taste »0« oder durch den Aktionsknopf des Joysticks gestartet. Das Programm kann mit Joystick oder über die Tastatur gespielt werden. Ist kein Joystick vorhanden, lenken Sie Ihr Männchen mit folgenden Tasten:
A: oben; Z: unten; B: links; M: rechts; N: Sprung.
Beim Vorhandensein eines Joysticks dient der Aktionsknopf als Sprungknopf.
Zu Beginn des Spiels befindet sich das Männchen rechts unten vor seiner Zelle. Nun kommen ihm Spinnen entgegengekrabbelt, welche es überspringen muß. In der nächsten Etage rollen ihm Fässer entgegen, und es muß mit einem Doppelsprung eine Fallgrube überspringen. Einen Doppelsprung macht man folgendermaßen: Man drückt die Sprungtaste »N« und kurz danach die Taste für die Richtungsangabe (B oder M). Genauso verfährt man, wenn man mit Joystick spielt: Aktionsknopf kurz drücken, danach Richtungsangabe. Ist auch dieser Teil geschafft, muß man aufpassen, daß dem Männchen keine Steine auf den Kopf fallen. Hat man schließlich alle Gefahren gut überstanden, klettert man auf die Zinne und stellt sich unter den Schlüssel, wodurch das Schloßtor geöffnet wird.
Nun werden die Fallgruben übersprungen, und man steht vor dem letzten großen Hindernis, der Brücke. Diese Brücke schließt und öffnet sich periodisch, und es gilt, den richtigen Moment abzupassen, um die Brücke überqueren zu können. Die letzten Fallgruben werden übersprungen, und Sie können aus dem Schloß hinauslaufen. Geschafft! Eine kurze Erholungspause, und das Spiel beginnt von vorne, natürlich etwas schwieriger.
Die Sektornummer wird links oben, die Anzahl der in Reserve verbliebenen Leben (man beginnt mit drei Leben) wird rechts oben angezeigt. Für jeden Versuch hat man 3000 Zeiteinheiten zur Verfügung. Hat man einen Sektor geschafft, bekommt man die verbliebenen Zeiteinheiten als Bonus gutgeschrieben. Nach dem ersten Sektor erhält man ein Extra-Leben, und es taucht ein Gespenst auf, welches den Schlüssel auf der Zinne bewacht. Noch ein Tip: Wenn Sie vor einem aus der Decke ragenden Felsen stehen, können Sie nicht springen.
Nutzt die grafischen Möglichkeiten des VC 20 voll aus
Das Spiel ist nicht ganz einfach, man braucht schon ein bißchen Übung, um den ersten Sektor zu schaffen. Leider ist das Spiel nur in Schwarzweiß programmiert, aber eine farbliche Gestaltung des Bildschirms war mit dem beschränkten Speicherplatz der VC 20-Grundversion nicht mehr möglich.
Als Ausgleich werden die grafischen Fähigkeiten des VC 20 voll ausgenutzt. Alle Bewegungen von Figuren werden aus Geschwindigkeitsgründen von einem Maschinenspracheprogramm ausgeführt.
(Frank Backes)A | Zeiteinheiten |
B,C | Koordinaten des Männchens |
S | Sektornummer |
F | In Reserve befindliche Leben |
H,I,G,T | Laufvariablen |
M | Zeigt an, ob Männchen gerade springt |
R | Punktzahl |
Q,W | Zeichen hinter Männchen |
P,O | Zeichen für Männchen |
X | Speicherstelle für die nächste Note der Melodie |
U | Richtung für Sprung |
L,K | Bewegung der Beine |
1 rem ghost manor 2 rem by frank backes 3 rem graphik 10 poke56,26:fori=7168to7679:pokei,0:next 20 fori=7168to7168+287:ready:pokei,y:next 25 fori=7456to7456+34:ready:pokei,y:next:fori=7491to7491+15:ready:pokei,y:next 30 data66,126,66,126,66,126,66,126,0,56,120,56,16,62,58,250,56,56,120,120,72,78,194,0 31 data56,56,56,40,62,10,8,24,0,28,30,28,8,124,92,95,28,28,28,30,18,114,67,0,28,28,28,20 32 data124,72,16,24,0,56,56,56,16,254,186,186,186,56,56,56,40,40,8,8,184,56,56,56,40,40 33 data32,32,73,223,255,255,255,255,255,255,255,255,255,255,255,235,194,130,254,248,255 34 data254,252,255,254,255,127,255,63,127,63,255,127,63,255,255,126,122,56,56,48,16,129 35 data66,36,24,60,90,129,66,0,66,165,24,60,90,129,129,238,238,0,187,187,187,0,238,60 36 data126,195,255,129,255,102,60,60,118,215,213,213,215,118,60,255,221,136,221,255,221 37 data136,221,0,12,28,62,62,126,56,0,48,51,63,254,252,124,56,56,12,204,253,127,63,62 38 data28,28,7,5,7,72,240,224,64,0,110,46,0,27,11,11,0,110,118,116,0,216,208,208,0,118 39 data219,219,0,221,221,221,0,119,238,110,0,29,13,5,0,1,60,126,126,60,0,0,0,0,255,58 40 data40,8,0,0,0,0,255,119,85,68,4,0,0,0,0,0,0,0,0,0,0,0,24,24,24,255,129,255,24,24 41 data24,24,24,24,24,60,102,195,255,255,255,255,255,255,255,255 42 data169,127,141,34,145,173,32,145,41,128,133,251,169,255,141,34,145,173,31,145,41,28 43 data24,101,251,133,251,173,31,145,41,32,133,252,96 44 data225,225,223,223,228,228,225,225,223,223,215,215,219,219,209,209
1 rem ghost manor 2 rem maschinenu.p. 3 rem by frank backes 10 fori=6700to7110:ready:pokei,y:next 20 data160,16,185,206,31,201,15,240,15,201,16,240,26,136,192,1,240,3,24,144,237,24,144 21 data30,169,32,153,206,31,169,16,200,153,206,31,136,24,144,230,169,32,153,206,31,169 22 data15,200,153,206,31,136,24,144,215,173,223,31,201,15,240,3,24,144,10,169,32,141 23 data223,31,169,16,141,208,31 24 data160,2,185,118,31,201,18,240,15,201,19,240,26,200,192,17,240,3,24,144,237,24,144 25 data30,169,32,153,118,31,169,19,136,153,118,31,200,24,144,230,169,32,153,118,31,169 26 data18,136,153,118,31,200,24,144,215,173,119,31,201,18,240,3,24,144,10,169,32,141 27 data119,31,169,19,141,134,31 28 data160,132,185,154,30,201,21,240,8,136,192,0,240,26,24,144,241,169,32,153,154,30 29 data152,24,105,22,168,169,21,153,154,30,152,24,233,22,168,24,144,225,160,13,185,30,31 30 data201,21,240,8,200,192,22,240,16,24,144,241,169,32,153,30,31,169,21,153,154,30,24 31 data144,235 32 data160,13,185,110,30,201,23,240,8,200,192,19,240,18,24,144,241,169,32,153,110,30 33 data169,23,136,153,110,30,200,24,144,233,160,17,185,110,30,201,22,240,8,136,192,11 34 data240,18,24,144,241,169,32,153,110,30,169,22,200,153,110,30,136,24,144,233 35 data173,122,30,201,23,240,10,173,128,30,201,22,240,16,24,144,23,169,32,141,122,30 36 data169,22,141,122,30,24,144,10,169,32,141,128,30,169,23,141,128,30 37 data173,223,30,201,30,240,10,173,229,30,201,31,240,16,24,144,18,169,31,141,223,30 38 data169,31,141,223,30,24,144,5,169,30,141,229,30,160,8,185,220,30,201,31,240,8,136 39 data192,2,240,18,24,144,241,169,32,153,220,30,200,169,31,153,220,30,136,24,144,21 40 data160,4,185,220,30,201,30,240,8,200,192,11,240,7,24,144,241 41 data136,153,220,30,96
50 poke650,128:sys7456:geta$:ifa$="o"orpeek(252)=0then70 60 goto50 70 r=0:f=3:s=1 80 b=8142:c=17:a=3000:q=32:w=32:o=2:p=1:x=7491 100 print"{clr}":poke36879,14:poke36869,255:print"{home}{wht}{rvon}{rght}{rght}{rght}**ghost manor**" 110 print"{home}{wht}{down}{down}{down}{down}[ [" 111 print"q q" 112 print"q@ ] ] ] qqq@qqq qqqq" 113 print"q@ q@ q" 114 print"y@ q@ u q" 115 print"q@ q@ z" 116 print"\qq ^^^^^^@q@ q" 117 print"{rght}{rght}t @q@ q" 118 print"{rght}{rght}t @q@ q" 119 print"{rght}{rght}t @q@ uq" 120 print"jjq qqq qqqqqq qq@qqjj"; 121 print"q @ q"; 122 print"q @ s q"; 123 print"q r @srrq"; 124 print"l@kk#kkk kkk#kkkkkkkk#"; 125 print"l@ n n tttm"; 126 print"l@ atttm"; 127 print"l@ p btttm";:ifs>3thenpoke7893,21:poke8090,32 128 print"#jjjjjjjjjjjjjjjjjjjj";:ifs>2thenpoke7847,21:poke8059,18 129 poke8164+21,35:poke7746+18,24:ifs>1thenpoke7806,22:poke8152,16 130 print"{home}{wht}{rvon}{down}{down}time";a;"{left} score";r;"{left} ":poke36878,0:poke36877,0:u=0:ifm=2thenm=0 131 poke7680,s+176:poke7701,f+175 140 poke36878,15:poke36876,peek(x):x=x+1:ifx=7507thenx=7491 150 pokeb+c,o:pokeb+c-22,p 155 ifm=1andpeek(b+c+22)<>32thenr=r+50 160 sys6700:ifpeek(b+c)<>oorpeek(b+c-22)<>pthen500 165 ifpeek(b+c+22)=32andm=0then600 170 ifb+c=7967then1000 180 a=a-10:ifa=-10then500 185 ifpeek(b+c-44)=24then800 188 ifm=1thenm=2:pokeb+c,w:pokeb+c-22,q:b=b+22:c=c+u 189 sys7456:ifpeek(b+c)<>0andm=1orpeek(b+c)<>32andm=2then500 190 geta$:ifa$=""andpeek(251)=156andpeek(252)<>0thenfort=1to50:nextt:goto130 195 pokeb+c,w:pokeb+c-22,q:poke36878,15:poke36877,180 200 ifa$="a"orpeek(251)=152then250 210 ifa$="z"orpeek(251)=148then300 220 ifa$="b"orpeek(251)=140then350 230 ifa$="m"orpeek(251)=28then400 240 ifa$="n"andm=0orpeek(252)=0andm=0then450 245 goto130 250 ifw=0thenb=b-22 260 ifp=7theno=o+1:ifo=10theno=8 265 ifp=7then490 270 p=7:o=8:goto490 300 ifpeek(b+c+22)=0thenb=b+22 310 ifp=7theno=o+1:ifo=10theno=8 315 ifp=7then490 320 p=7:o=8:goto490 350 ifpeek(b+c-1)=0orpeek(b+c-1)=32thenc=c-1 360 ifp=1theno=o+1:ifo=4theno=2 365 ifp=1then490 370 p=1:o=2:goto490 400 ifpeek(b+c+1)=0orpeek(b+c+1)=32thenc=c+1 410 ifp=4theno=o+1:ifo=7theno=5 415 ifp=4then490 420 p=4:o=5:goto490 450 ifp=1thenu=1 451 ifp=4thenu=-1 455 ifpeek(b+c-44-u)=32thenb=b-22:m=1:goto470 460 goto130 470 c=c-u 490 w=peek(b+c):q=peek(b+c-22):goto130 500 forh=1to5 501 pokeb+c,34:pokeb+c-22,33:poke36878,15:forg=200to250:poke36876,g:next:poke36876,0 502 nexth 503 poke198,0 510 poke36878,0:f=f-1:iff=0then530 520 goto80 530 print"{home}{wht}{rvon}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}game over!":fort=1to2000:next:goto50 600 pokeb+c-22,32:b=b+22:ifpeek(b+c)<>32thenpokeb+c,32:b=b-22:goto500 605 pokeb+c,o:pokeb+c-22,p 610 fort=1to100:next:goto600 800 poke7968,32:fort=1to150:next:poke7946,32:fort=1to150:next:poke7924,32 810 pokeb+c-44,32:poke7768+c,32:poke7790+c,32:goto490 1000 poke36876,0:poke36878,15:forg=1to10:forh=150to250step2:poke36875,h:nexth,g 1010 poke36875,0:poke36878,0:s=s+1:r=r+a:ifs=2thenf=f+1 1020 goto80