Herramientas de usuario

Herramientas del sitio


es:geisterjagd

GEISTERJAGD

Ficha

Autor Ralf Wilgalis
Compatibilidad Amstrad PCW 8256 / 8512 / 9512
Año 1991
Género Arcade
Controles Teclado
Idioma Alemán
Estado Preservado

Capturas

Descripción

Tu tarea consiste en recoger tantas monedas de oro como sea posible. Pero ten cuidado, el tesoro está custodiado por 3 fantasmas que quieren acabar contigo. Por cada 50 monedas conseguirás 3 vidas de bonus. Si consigues formar parte de los 10 mejores, serás inmortalizado en la tabla de records.

El tesoro consiste en 300 monedas.

Listado

  • Listado - GEIST.BAS
10 OPTION RUN:OPTION BASE 1:DEFINT a-z:ON ERROR GOTO 3480
20 DIM text$(4),t$(20),name$(11),gold(11)
30 text$(1)="   WEITERSPIELEN ?   ":text$(2)="  EIN NEUES SPIEL ?  "
40 text$(3)="        j / n        ":text$(4)="  SCORE SPEICHERN ?  "
50 FOR n=240 TO 255:co$=co$+CHR$(n):NEXT n
60 nn=1:FOR n=219 TO 238:t$(nn)=CHR$(n)+"  ":nn=nn+1:NEXT n
70 t1$=t$(1)+t$(3)+t$(5)+t$(7)+t$(9)+t$(3)+t$(11)+t$(13)+t$(15)+t$(17)+t$(19)
80 t2$=t$(2)+t$(4)+t$(6)+t$(8)+t$(10)+t$(4)+t$(12)+t$(14)+t$(16)+t$(18)+t$(20)
90 OPEN "I",1,"GEIST.SCR"
100 FOR n=1 TO 10:INPUT #1,name$(n),gold(n):NEXT n
110 CLOSE 1:GOTO 130
120 FOR n=1 TO 10:name$(n)="NOBODY":gold(n)=0:NEXT n
130 GOSUB 2260:GOSUB 2010:GOSUB 3390:OUT 248,8
140 PRINT cls$+szaus$+curaus$+FNc$(0,29)+t1$+FNc$(1,29)+t2$+FNc$(3,37)+co$
150 PRINT FNc$(6,0)+CHR$(162)+STRING$(87,160)+CHR$(161)+CHR$(170)
160 PRINT FNc$(7,0)+CHR$(239)+CHR$(165)+CHR$(168)+STRING$(84,163)+CHR$(239)+CHR$(165)+CHR$(167)
170 FOR z=8 TO 27:FOR s=0 TO 87 STEP 87
180 PRINT FNc$(z,s)+CHR$(239)+CHR$(165)+CHR$(167):NEXT s,z
190 FOR s=0 TO 87 STEP 87:PRINT FNc$(28,s)+CHR$(166)+CHR$(165)+CHR$(167):NEXT s
200 PRINT FNc$(29,0)+CHR$(162)+STRING$(87,160)+CHR$(161)+CHR$(167)
210 PRINT FNc$(30,0)+CHR$(169)+STRING$(88,163)+CHR$(171);
220 objekt1=0:objekt2=0:leben=3:gold=0:hz=8:hs=5:name$="":score=1
230 gz1=8:gs1=83:gz2=26:gs2=5:gz3=26:gs3=83:zeit=0:tot=0
240 GOSUB 1060:GOSUB 1170
250 PRINT FNha$(hz,hs)+FNga$(gz1,gs1)+FNga$(gz2,gs2)+FNga$(gz3,gs3)
260 GOSUB 1920:OUT 248,7
270 WHILE INKEY$<>"":WEND:WHILE INKEY$="":n!=n!+1:WEND:RANDOMIZE n!
280 FOR n=10 TO 24:PRINT FNc$(n,28)+SPACE$(33):NEXT n
290 WHILE -1
300 ein$=INKEY$:IF ein$=CHR$(3) THEN t1=1:t2=3:GOSUB 1400 
310 IF tot=1 THEN t1=2:t2=3:GOTO 1400
320 exhz=hz:exhs=hs:exgz1=gz1:exgs1=gs1
330 exgz2=gz2:exgs2=gs2:exgz3=gz3:exgs3=gs3
340 IF ein$=CHR$(1) THEN hs=hs-2:IF hs<5 THEN hs=hs+2
350 IF ein$=CHR$(6) THEN hs=hs+2:IF hs>83 THEN hs=hs-2
360 IF ein$=CHR$(30) THEN hz=hz+1:IF hz>26 THEN hz=hz-1
370 IF ein$=CHR$(31) THEN hz=hz-1:IF hz<8 THEN hz=hz+1
380 IF zeit>0 THEN zeit=zeit-1:GOTO 520
390 nn=nn+1
400 IF nn=1 THEN zz1=FNr(2,3)
410 IF nn=3 THEN zz2=FNr(2,3)
420 IF nn>4 THEN zz3=FNr(2,3):nn=0
430 IF FNr(1,zz1)>1 THEN 460
440 IF gz1<>hz THEN IF gz1<hz THEN gz1=gz1+1 ELSE gz1=gz1-1
450 IF gs1<>hs THEN IF gs1<hs THEN gs1=gs1+2 ELSE gs1=gs1-2
460 IF FNr(1,zz2)>1 THEN 490
470 IF gz2<>hz THEN IF gz2<hz THEN gz2=gz2+1 ELSE gz2=gz2-1
480 IF gs2<>hs THEN IF gs2<hs THEN gs2=gs2+2 ELSE gs2=gs2-2
490 IF FNr(1,zz3)>1 THEN 520
500 IF gz3<>hz THEN IF gz3<hz THEN gz3=gz3+1 ELSE gz3=gz3-1
510 IF gs3<>hs THEN IF gs3<hs THEN gs3=gs3+2 ELSE gs3=gs3-2
520 IF objekt1>0 THEN 550
530 IF leben>2 THEN objekt1=1 ELSE objekt1=FNr(1,2)
540 IF objekt1=1 THEN goz1=FNrza:gos1=FNrs ELSE akz=FNrzab:aks=FNrs
550 IF objekt2>0 THEN 580
560 IF leben>2 THEN objekt2=1 ELSE objekt2=FNr(1,2)
570 IF objekt2=1 THEN goz2=FNrza:gos2=FNrs ELSE uz=FNrzab:us=FNrs
580 IF bi=1 THEN GOSUB 920:bi=0 ELSE GOSUB 990:bi=1
590 ON objekt1 GOTO 600,650
600 IF NOT (hs=gos1 AND hz<goz1+1 AND hz>goz1-2) THEN 700
610 FOR n=1 TO 10:OUT 248,11:OUT 248,12:NEXT n
620 PRINT FNcla$(goz1,gos1):objekt1=0:gold=gold+1:GOSUB 1170
630 IF gold=50 OR gold=100 OR gold=150 OR gold=200 OR gold=250 OR gold=300 THEN GOSUB 1220
640 GOTO 700
650 IF NOT (hs=aks AND hz<akz+2 AND hz>akz-2) THEN 700
660 FOR n=1 TO 5
670 OUT 248,11:FOR nn=1 TO 5:NEXT nn:OUT 248,12:FOR nn=1 TO 10:NEXT nn
680 NEXT n
690 PRINT FNclab$(akz,aks):objekt1=0:leben=leben+1:GOSUB 1060
700 ON objekt2 GOTO 710,760
710 IF NOT (hs=gos2 AND hz<goz2+1 AND hz>goz2-2) THEN 790
720 FOR n=1 TO 10:OUT 248,11:OUT 248,12:NEXT n
730 PRINT FNclab$(goz2,gos2):objekt2=0:gold=gold+1:GOSUB 1170
740 IF gold=50 OR gold=100 OR gold=150 OR gold=200 OR gold=250 OR gold=300 THEN GOSUB 1220
750 GOTO 790
760 IF NOT (hs=us AND hz<uz+2 AND hz>uz-2) THEN 790
770 FOR n=1 TO 20:OUT 248,11:OUT 248,12:FOR nn=1 TO 5:NEXT nn:NEXT n
780 PRINT FNclab$(uz,us):objekt2=0:zeit=FNr(30,50)
790 IF NOT (gs1=hs AND gz1<hz+2 AND gz1>hz-2) THEN 830
800 PRINT beep$+FNclab$(gz1,gs1):leben=leben-1
810 gz1=FNrzab:gs1=FNrs:IF gs1>hs-10 AND gs1<hs+10 THEN 810
820 GOSUB 1060
830 IF NOT (gs2=hs AND gz2<hz+2 AND gz2>hz-2) THEN 870
840 PRINT beep$+FNclab$(gz2,gs2):leben=leben-1
850 gz2=FNrzab:gs2=FNrs:IF gs2>hs-10 AND gs2<hs+10 THEN 850
860 GOSUB 1060
870 IF NOT (gs3=hs AND gz3<hz+2 AND gz3>hz-2) THEN 910
880 PRINT beep$+FNclab$(gz3,gs3):leben=leben-1
890 gz3=FNrzab:gs3=FNrs:IF gs3>hs-10 AND gs3<hs+10 THEN 890
900 GOSUB 1060
910 WEND
920 IF hz=exhz AND hs=exhs THEN PRINT FNha$(hz,hs) ELSE PRINT FNhacl$(exhz,exhs,hz,hs)
930 IF gz1=exgz1 AND gs1=exgs1 THEN PRINT FNga$(gz1,gs1) ELSE PRINT FNgacl$(exgz1,exgs1,gz1,gs1)
940 IF gz2=exgz2 AND gs2=exgs2 THEN PRINT FNga$(gz2,gs2) ELSE PRINT FNgacl$(exgz2,exgs2,gz2,gs2)
950 IF gz3=exgz3 AND gs3=exgs3 THEN PRINT FNgb$(gz3,gs3) ELSE PRINT FNgbcl$(exgz3,exgs3,gz3,gs3)
960 IF objekt1=1 THEN PRINT FNgoa$(goz1,gos1) ELSE PRINT FNaka$(akz,aks)
970 IF objekt2=1 THEN PRINT FNgob$(goz2,gos2) ELSE PRINT FNua$(uz,us)
980 RETURN
990 IF hz=exhz AND hs=exhs THEN PRINT FNhb$(hz,hs) ELSE PRINT FNhbcl$(exhz,exhs,hz,hs)
1000 IF gz1=exgz1 AND gs1=exgs1 THEN PRINT FNgb$(gz1,gs1) ELSE PRINT FNgbcl$(exgz1,exgs1,gz1,gs1)
1010 IF gz2=exgz2 AND gs2=exgs2 THEN PRINT FNgb$(gz2,gs2) ELSE PRINT FNgbcl$(exgz2,exgs2,gz2,gs2)
1020 IF gz3=exgz3 AND gs3=exgs3 THEN PRINT FNga$(gz3,gs3) ELSE PRINT FNgacl$(exgz3,exgs3,gz3,gs3)
1030 IF objekt1=1 THEN PRINT FNgob$(goz1,gos1) ELSE PRINT FNakb$(akz,aks)
1040 IF objekt2=1 THEN PRINT FNgoa$(goz2,gos2) ELSE PRINT FNub$(uz,us)
1050 RETURN
1060 IF NOT leben>3 THEN 1110
1070 PRINT FNha$(1,16)+FNha$(1,13)+FNha$(1,10)
1080 PRINT FNc$(3,10)+"BONUS":bonus=leben-3
1090 IF bonus<10 THEN PRINT FNc$(3,16)+STR$(bonus) ELSE PRINT FNc$(3,15)+STR$(bonus)
1100 RETURN
1110 PRINT FNc$(3,10)+SPACE$(8)
1120 IF leben=3 THEN PRINT FNha$(1,16)+FNha$(1,13)+FNha$(1,10)
1130 IF leben=2 THEN PRINT FNhacl$(1,16,1,13)
1140 IF leben=1 THEN PRINT FNclab$(1,13)
1150 IF leben=0 THEN PRINT FNclab$(1,10):tot=1
1160 RETURN
1170 IF gold=0 THEN PRINT FNgoa$(2,72)+"    "
1180 IF gold<10 THEN PRINT FNgoa$(2,72)+FNc$(2,76)+STR$(gold)
1190 IF gold>9 AND gold<100 THEN PRINT FNgoa$(2,72)+FNc$(2,75)+STR$(gold)
1200 IF gold>99 AND gold<1000 THEN PRINT FNgoa$(2,72)+FNc$(2,74)+STR$(gold)
1210 RETURN
1220 PRINT FNclab$(hz,hs)+FNclab$(gz1,gs1)+FNclab$(gz2,gs2)+FNclab$(gz3,gs3)
1230 PRINT FNcla$(goz1,gos1)+FNcla$(goz2,gos2)+FNclab$(akz,aks)+FNclab$(uz,us)
1240 FOR n=1 TO gold:FOR nn=1 TO 10:OUT 248,11:OUT 248,12:NEXT nn
1250 PRINT FNgoa$(FNrza,FNrs):NEXT n
1260 IF gold=50 THEN PRINT FNc$(14,13)+"N I C H T  S C H L E C H T  F ] R  E I N E N  A N F [ N G E R  !":GOTO 1350
1270 IF gold=100 THEN PRINT FNc$(14,14)+"H O C H A C H T U N G,  E I N E  R E I F E  L E I S T U N G  !":GOTO 1350
1280 IF gold=150 THEN PRINT FNc$(14,19)+"T O L L,  W I E  M A C H E N  S I E  D A S  N U R  ?":GOTO 1350
1290 IF gold=200 THEN PRINT FNc$(14,17)+"F A N T A S T I S C H,  N I C H T  Z U  G L A U B E N  !":GOTO 1350
1300 IF gold=250 THEN PRINT FNc$(14,21)+"S U P E R,  K A U M  Z U  ] B E R B I E T E N  !":GOTO 1350
1310 PRINT FNc$(13,31)+"] B E R W [ L T I G E N D  !"
1320 PRINT FNc$(16,31)+"HIERMIT WIRD IHNEN DER TITEL"
1330 PRINT FNc$(19,8)+"* G * E * I * S * T * E * R * J * A * G * D * M * E * I * S * T * E * R *"
1340 PRINT FNc$(22,40)+"VERLIEHEN!":GOTO 1370
1350 PRINT FNc$(18,21)+"SIE HABEN BIS JETZT SOVIELE M]NZEN EINGSAMMELT !"
1360 PRINT FNc$(21,38)+"BONUS: 3 LEBEN":leben=leben+3:GOSUB 1060
1370 WHILE INKEY$<>"":WEND:WHILE INKEY$="":WEND
1380 FOR n=8 TO 27:PRINT FNc$(n,5)+SPACE$(80):NEXT n
1390 IF gold=300 THEN t1=2:t2=3 ELSE 290
1400 PRINT FNreq$(14,32,21,t1,t2)
1410 WHILE INKEY$<>"":WEND:WHILE -1:ein$=INKEY$
1420 IF LOWER$(ein$)="j" THEN 1560
1430 IF LOWER$(ein$)="n" THEN 1450
1440 WEND
1450 FOR s=14 TO 20:PRINT FNc$(s,32)+SPACE$(25):NEXT s
1460 IF gold>=gold(10) THEN GOSUB 1630:GOSUB 1920
1470 t1=4:t2=3:PRINT FNreq$(14,32,21,t1,t2)
1480 WHILE INKEY$<>"":WEND:WHILE -1:ein$=INKEY$
1490 IF LOWER$(ein$)="j" THEN 1520
1500 IF LOWER$(ein$)="n" THEN 1550
1510 WEND
1520 OPEN "O",1,"GEIST.SCR"
1530 FOR n=1 TO 10:WRITE #1,name$(n),gold(n):NEXT n
1540 CLOSE 1
1550 PRINT cls$+curan$+szan$+home$:END
1560 FOR s=14 TO 20:PRINT FNc$(s,32)+SPACE$(25):NEXT s
1570 ON t1 GOTO 1580,1590
1580 RETURN
1590 PRINT FNclab$(hz,hs)+FNclab$(gz1,gs1)+FNclab$(gz2,gs2)+FNclab$(gz3,gs3)
1600 PRINT FNcla$(goz1,gos1)+FNcla$(goz2,gos2)+FNclab$(akz,aks)+FNclab$(uz,us)
1610 IF gold>=gold(10) THEN GOSUB 1630
1620 GOTO 220
1630 PRINT FNclab$(hz,hs)+FNclab$(gz1,gs1)+FNclab$(gz2,gs2)+FNclab$(gz3,gs3)
1640 PRINT FNcla$(goz1,gos1)+FNcla$(goz2,gos2)+FNclab$(akz,aks)+FNclab$(uz,us)
1650 PRINT FNc$(15,37)+"IHR NAME BITTE ?"
1660 PRINT FNc$(17,33)+CHR$(150)+STRING$(22,154)+CHR$(156)
1670 PRINT FNc$(18,33)+CHR$(149)+STRING$(22," ")+CHR$(149)
1680 PRINT FNc$(19,33)+CHR$(147)+STRING$(22,154)+CHR$(153)
1690 PRINT FNc$(18,35)+curan$;
1700 WHILE INKEY$<>"":WEND:WHILE -1:ein$=INKEY$
1710 IF ein$=CHR$(123) THEN ein$="["
1720 IF ein$=CHR$(124) THEN ein$="\"
1730 IF ein$=CHR$(125) THEN ein$="]"
1740 IF ein$=CHR$(13) THEN 1820
1750 IF ein$=CHR$(127) AND LEN(name$)>0 THEN name$=LEFT$(name$,LEN(name$)-1):GOTO 1800
1760 IF ein$=CHR$(32) OR ein$=CHR$(45) OR ein$=CHR$(46) THEN 1780
1770 IF UPPER$(ein$)<CHR$(65) OR UPPER$(ein$)>CHR$(93) THEN 1810
1780 exname$=name$:name$=name$+ein$:IF LEN(name$)>20 THEN name$=LEFT$(name$,20)
1790 IF name$=exname$ THEN 1810
1800 PRINT FNc$(18,35)+UPPER$(name$)+SPACE$(20-LEN(name$))+FNc$(18,35+LEN(name$));
1810 WEND
1820 PRINT curaus$+FNc$(15,37)+SPACE$(16)
1830 FOR n=17 TO 19:PRINT FNc$(n,33)+SPACE$(24):NEXT n
1840 FOR n=LEN(name$) TO 1 STEP -1
1850 IF LEFT$(name$,1)=" " THEN name$=RIGHT$(name$,n-1) ELSE 1870
1860 NEXT n
1870 name$=UPPER$(name$):IF name$="" THEN name$="RUMPELSTILZCHEN"
1880 FOR n=1 TO 10:IF gold>=gold(n) THEN 1900
1890 NEXT n
1900 FOR nn=10 TO n STEP -1:name$(nn+1)=name$(nn):gold(nn+1)=gold(nn):NEXT nn
1910 name$(n)=name$:gold(n)=gold:RETURN
1920 PRINT FNc$(11,29)+"*   H A L L   O F   F A M E   *"+FNc$(12,28)+STRING$(33,"_")
1930 z=15:FOR n=1 TO 10:PRINT FNc$(z,31)+UPPER$(name$(n))+SPACE$(20-LEN(name$(n)))
1940 IF gold(n)<10 THEN PRINT FNc$(z,56)+STR$(gold(n)):GOTO 1960
1950 IF gold(n)>99 THEN PRINT FNc$(z,54)+STR$(gold(n)) ELSE PRINT FNc$(z,55)+STR$(gold(n))
1960 z=z+1:NEXT n
1970 IF score=1 THEN score=0:RETURN
1980 WHILE INKEY$<>"":WEND:WHILE INKEY$="":WEND
1990 FOR n=10 TO 24:PRINT FNc$(n,28)+SPACE$(33):NEXT n
2000 RETURN
2010 DEF FNr1$(z,s,b)=FNc$(z,s)+CHR$(150)+STRING$(b+2,154)+CHR$(156)
2020 DEF FNr2$(z,s,b)=FNc$(z,s)+CHR$(149)+" "+invan$+SPACE$(b)+invaus$+" "+CHR$(149)
2030 DEF FNr3$(z,s,t1)=FNc$(z,s)+CHR$(149)+" "+invan$+text$(t1)+invaus$+" "+CHR$(149)
2040 DEF FNr4$(z,s,t2)=FNc$(z,s)+CHR$(149)+" "+invan$+text$(t2)+invaus$+" "+CHR$(149)
2050 DEF FNr5$(z,s,b)=FNc$(z,s)+CHR$(147)+STRING$(b+2,154)+CHR$(153)
2060 DEF FNra$(z,s,b,t1)=FNr1$(z,s,b)+FNr2$(z+1,s,b)+FNr3$(z+2,s,t1)+FNr2$(z+3,s,b)
2070 DEF FNrb$(z,s,b,t2)=FNr4$(z+4,s,t2)+FNr2$(z+5,s,b)+FNr5$(z+6,s,b)
2080 DEF FNreq$(z,s,b,t1,t2)=FNra$(z,s,b,t1)+FNrb$(z,s,b,t2)
2090 DEF FNga$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(172)+CHR$(173)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(174)+CHR$(175)
2100 DEF FNgacl$(exz,exs,z,s)=esc$+"Y"+CHR$(32+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(33+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(172)+CHR$(173)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(174)+CHR$(175)
2110 DEF FNgb$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(176)+CHR$(177)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(178)+CHR$(179)
2120 DEF FNgbcl$(exz,exs,z,s)=esc$+"Y"+CHR$(32+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(33+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(176)+CHR$(177)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(178)+CHR$(179)
2130 DEF FNha$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(180)+CHR$(181)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(182)+CHR$(183)
2140 DEF FNhacl$(exz,exs,z,s)=esc$+"Y"+CHR$(32+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(33+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(180)+CHR$(181)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(182)+CHR$(183)
2150 DEF FNhb$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(184)+CHR$(185)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(186)+CHR$(187)
2160 DEF FNhbcl$(exz,exs,z,s)=esc$+"Y"+CHR$(32+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(33+exz)+CHR$(32+exs)+"  "+esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(184)+CHR$(185)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(186)+CHR$(187)
2170 DEF FNgoa$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(188)+CHR$(189)
2180 DEF FNgob$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(190)+CHR$(191)
2190 DEF FNaka$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(192)+CHR$(193)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(194)+CHR$(195)
2200 DEF FNakb$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(196)+CHR$(197)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(198)+CHR$(199)
2210 DEF FNua$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(200)+CHR$(201)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(202)+CHR$(203)
2220 DEF FNub$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)+CHR$(204)+CHR$(205)+esc$+"Y"+CHR$(33+z)+CHR$(32+s)+CHR$(206)+CHR$(207)
2230 DEF FNcla$(z,s)=FNc$(z,s)+"  "
2240 DEF FNclab$(z,s)=FNc$(z,s)+"  "+FNc$(z+1,s)+"  "
2250 RETURN
2260 esc$=CHR$(27)
2270 cls$=esc$+"E"
2280 invan$=esc$+"p"
2290 invaus$=esc$+"q"
2300 szan$=esc$+"1"
2310 szaus$=esc$+"0"
2320 home$=esc$+"H"
2330 curan$=esc$+"e"
2340 curaus$=esc$+"f"
2350 scran$=esc$+"c"+CHR$(0)+esc$+"b"+CHR$(63)
2360 scraus$=esc$+"c"+CHR$(63)+esc$+"b"+CHR$(0)
2370 beep$=scran$+CHR$(7)+scraus$
2380 DEF FNc$(z,s)=esc$+"Y"+CHR$(32+z)+CHR$(32+s)
2390 DEF FNr(n1,n2)=INT(RND*(n2-n1+1))+n1
2400 DEF FNrs=(FNr(2,41)*2)+1
2410 DEF FNrza=FNr(8,27)
2420 DEF FNrzab=FNr(8,26)
2430 MEMORY &HF4FF:code=&HF500:tabb=&HF515
2440 FOR n=0 TO 20:READ a$:a$="&H"+a$:a=VAL(a$):POKE code+n,a:NEXT n
2450 DATA 01,09,F5,CD,5A,FC,E9
2460 DATA 00,C9,21,15,F5,01,08
2470 DATA 00,11,00,00,ED,B0,C9
2480 READ zeichen
2490 IF zeichen<0 OR zeichen>255 THEN RETURN
2500 FOR n=0 TO 7:READ a$:a$="&H"+a$:a=VAL(a$):POKE tabb+n,a:NEXT n
2510 char!=zeichen*8+&HB800+2^16:high=INT(char!/256):low=char!-high*256
2520 POKE &HF510,low:POKE &HF511,high:CALL code
2530 GOTO 2480
2540 DATA 160,E7,E7,E7,00,7E,7E,7E,00
2550 DATA 161,CC,CC,CC,00,7C,7C,7C,00
2560 DATA 162,E7,E7,E7,00,FE,FE,FE,00
2570 DATA 163,88,22,88,22,00,00,00,00
2580 DATA 239,FC,00,FC,FC,FC,00,FC,FC
2590 DATA 165,FC,FC,FC,00,FC,FC,FC,00
2600 DATA 166,FC,00,FC,FC,FC,00,FC,00
2610 DATA 167,AA,AA,AA,AA,AA,AA,AA,AA
2620 DATA 168,88,A2,A8,AA,AA,AA,AA,AA
2630 DATA 169,88,22,08,02,00,00,00,00
2640 DATA 170,80,A0,A8,AA,AA,AA,AA,AA
2650 DATA 171,AA,2A,8A,22,00,00,00,00
2660 DATA 172,02,0A,0A,22,22,AA,AA,AA
2670 DATA 173,80,A0,A0,88,88,AA,AA,AA
2680 DATA 174,AA,AA,8A,8A,88,88,88,08
2690 DATA 175,AA,AA,AA,A2,A2,A2,22,20
2700 DATA 176,02,0A,0A,2E,2E,AA,AA,AA
2710 DATA 177,80,A0,A0,E8,E8,AA,AA,AA
2720 DATA 178,AA,AA,AA,8A,8A,8A,88,08
2730 DATA 179,AA,AA,A2,A2,22,22,22,20
2740 DATA 180,00,00,00,0A,2A,5D,A2,A2
2750 DATA 181,00,00,00,A0,A8,74,8A,8A
2760 DATA 182,5D,2A,0A,08,78,FC,00,00
2770 DATA 183,74,A8,A0,3C,7E,00,00,00
2780 DATA 184,00,00,00,0A,2A,5D,BE,A2
2790 DATA 185,00,00,00,A0,A8,74,FA,8A
2800 DATA 186,5D,2A,0A,78,FC,00,00,00
2810 DATA 187,74,A8,A0,20,3C,7E,00,00
2820 DATA 188,0F,7D,F5,FD,FD,7D,2F,05
2830 DATA 189,D0,7A,7D,7D,7D,7A,D4,40
2840 DATA 190,00,00,01,07,1E,79,54,00
2850 DATA 191,00,78,E4,90,40,00,00,00
2860 DATA 192,00,00,00,03,0C,07,03,3F
2870 DATA 193,00,00,00,40,D0,A0,40,F4
2880 DATA 194,2B,03,03,03,01,00,00,00
2890 DATA 195,54,40,40,40,40,00,00,00
2900 DATA 196,00,07,1C,3A,1C,0F,07,FF
2910 DATA 197,00,A0,E8,74,E8,D0,A0,FD
2920 DATA 198,FF,57,07,07,07,07,02,00
2930 DATA 199,FD,95,A0,A0,A0,A0,A0,00
2940 DATA 200,00,FF,55,17,17,0B,05,02
2950 DATA 201,00,FE,54,D0,D0,A0,40,80
2960 DATA 202,02,04,08,10,10,55,FF,00
2970 DATA 203,80,40,20,10,10,54,FE,00
2980 DATA 204,00,FF,55,10,10,08,04,02
2990 DATA 205,00,FE,54,10,10,20,40,80
3000 DATA 206,02,05,0B,17,17,55,FF,00
3010 DATA 207,80,40,A0,D0,D0,54,FE,00
3020 DATA 219,3C,C3,C3,C3,C0,C0,CF,C3
3030 DATA 220,C3,C3,BD,A5,25,21,21,20
3040 DATA 221,00,00,FF,C0,C0,C0,FC,C0
3050 DATA 222,C0,C0,FF,95,94,90,10,00
3060 DATA 223,00,00,18,18,18,18,18,18
3070 DATA 224,18,18,18,10,10,10,10,10
3080 DATA 225,00,00,3C,C3,C3,C0,3C,03
3090 DATA 226,C3,C3,BD,A9,A9,89,89,09
3100 DATA 227,00,00,FF,18,18,18,18,18
3110 DATA 228,18,18,18,08,08,08,08,00
3120 DATA 229,00,00,FC,C3,C3,C3,FC,D8
3130 DATA 230,CC,C6,CB,4A,4A,42,42,02
3140 DATA 231,FF,03,03,03,03,03,03,03
3150 DATA 232,03,C3,BD,A9,A9,29,09,08
3160 DATA 233,00,00,18,3C,66,C3,FF,D3
3170 DATA 234,D3,D3,D3,52,52,42,40,40
3180 DATA 235,00,00,3C,C3,C3,C0,CF,C3
3190 DATA 236,C3,C3,BD,95,95,91,11,00
3200 DATA 237,00,00,F0,CC,C3,C3,C3,C3
3210 DATA 238,C3,CD,F9,A9,89,89,09,01
3220 DATA 240,0A,20,8A,88,8A,20,0A,00
3230 DATA 241,80,20,88,08,88,20,80,00
3240 DATA 242,00,09,29,09,08,09,00,00
3250 DATA 243,00,52,12,52,10,52,00,00
3260 DATA 244,00,A1,25,A1,21,A1,00,00
3270 DATA 245,00,05,04,05,04,04,00,00
3280 DATA 246,00,4A,48,4A,88,48,00,00
3290 DATA 247,00,90,90,90,90,95,00,00
3300 DATA 248,00,2A,20,28,20,20,00,00
3310 DATA 249,00,08,08,08,0A,08,00,00
3320 DATA 250,00,92,92,92,92,92,00,00
3330 DATA 251,00,05,04,05,04,A5,00,00
3340 DATA 252,00,4A,08,4A,48,48,00,00
3350 DATA 253,00,90,90,90,90,95,00,00
3360 DATA 254,00,25,24,25,20,25,00,00
3370 DATA 255,00,40,00,40,40,40,00,00
3380 DATA -1
3390 OUT 248,8
3400 PRINT cls$+szaus$+curaus$
3410 PRINT FNc$(11,11)+"Deine Aufgabe ist, möglichst viele Goldstücke einzusammeln. Pass aber"
3420 PRINT FNc$(13,11)+"auf, der Schatz wird von drei Geistern bewacht, die Dir ans Leben "
3430 PRINT FNc$(15,11)+"wollen. Für jeweils 50 Goldstücke erhältst Du 3 Bonus-Leben. Wenn Du" 
3440 PRINT FNc$(17,11)+"zu den 10 Besten gehörst, wirst Du im Highscore verewigt. Der Schatz" 
3450 PRINT FNc$(19,29)+"umfasst insgesamt 300 Goldstücke."
3460 OUT 248,7
3470 WHILE INKEY$<>"":WEND:WHILE INKEY$="":WEND:RETURN
3480 RESUME 120

Controles

      ↑ = ARRIBA
      ↓ = ABAJO
      → = DERECHA
      ← = IZQUIERDA
   EXIT = ABANDONAR PARTIDA

Carga del programa

1.- Introducir el disco CP/M por la cara 2
2.- Escribir BASIC y esperar a que cargue
3.- Retirar el disco CP/M e introducir el disco que contiene el juego Geisterjagd
4.- Teclear run "Geist" y pulsar la tecla "ENTER"

Descarga

es/geisterjagd.txt · Última modificación: 2022/06/30 11:05 por jevicac