home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 33
/
Tiger_Disk_033_1996-12_Tiger-Crew-Disk_de_Side_C.d64
/
ratrun
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2023-02-26
|
7KB
|
267 lines
100 poke53272,21:poke53280,12:poke53281,12
110 print"[147]";tab(15);"[164][164][164][164][164][164][157][157][157][157][157][157]ratrun"
120 fori=1to10:print"[192][192][192][192]";:next
130 print"finde deinen weg durch ein labyrinth!!!"
140 print"bewegung mit joy in port zwei[146] :"
150 print" hoch vorwaerts
160 [153]" links nach links
170 print" rechts nach rechts
180 [153]" unten umdrehen
190 print" feuer aufgeben
200 [153]"drueck feuerwait !
210 i=((peek(56320)and16)=0):ifi=0then210
220 print"[147]":cr$=chr$(13):qk=198
225 ml=(peek(45)+256*peek(46)-512)
230 h=12:v=7:h1=h+1:w=ml:v1=ml+256
240 dimxl(4),n2(4),yl(4),xr(4)
250 fori=0to4:readxl(i),n2(i),yl(i),xr(i):nexti
260 data8,20,-4,31,8,12,1,27,12,6,5,24,15,2,8,22,17,0,10,21
270 cx=int(rnd(1)*h)+1:cy=int(rnd(1)*v)+1
280 c=cx:r=cy:s=0
290 fori=0to(v+1)*h1:pokew+i,0:pokev1+i,0:next
300 print"[147]erstelle das lab...";
310 da=0:n=0:av=v1+c+r*h1:aw=w+c+r*h1:pokeaw,1:s=s+1:ifs>=h*vthen570
320 printmid$("[146]",(sand1)+1,1);"[214][157]";
330 ifc>1andpeek(aw-1)=0thenda=da+2:n=n+1
340 ifc<handpeek(aw+1)=0thenda=da+1:n=n+1
350 ifr>1andpeek(aw-h1)=0thenda=da+8:n=n+1
360 if(r<vandpeek(aw+h1)=0)thenda=da+4:n=n+1
370 n=int(rnd(1)*n)+1
380 onda+1goto390,560,550,420,540,430,440,450,530,460,470,480,490,500,510,520
390 s=s-1
400 c=c+1:ifc>hthenc=1:r=r+1:ifr>vthenr=1
410 onpeek(w+c+r*h1)+1goto400,310
420 onngoto550,560
430 onngoto540,560
440 onngoto540,550
450 onngoto540,550,560
460 onngoto530,560
470 onngoto530,550
480 onngoto530,550,560
490 onngoto530,540
500 onngoto530,540,560
510 onngoto530,540,550
520 onngoto530,540,550,560
530 r=r-1:av=av-h1:pokeav,peek(av)or1:goto310
540 pokeav,peek(av)or1:r=r+1:av=av+h1:goto310
550 c=c-1:av=av-1:pokeav,peek(av)or2:goto310
560 pokeav,peek(av)or2:c=c+1:av=av+1:goto310
570 i=rnd(1)>.5:j=rnd(1):k=rnd(1)>.5
580 ifithenx=int(j*h)+1:y=v+(v-1)*k
590 ifi=0theny=int(j*v)+1:x=h+(h-1)*k
600 if(cx-x)^2+(cy-y)^2<(h^2+v^2)/9then570
610 sx=x:sy=y
620 print"[147]
630 [129]i[178]w[164]w[170](v[170]1)[172]h1:[151]i,0:[130]
640 d[178][181]([187](1)[172]4)
650 t4[178]ti:[151](w[170]x[170]y[172]h1),1
660 [139]f[178]0[167][141]1020:[153]"";[181]([186]((x[171]cx)[174]2[170](y[171]cy)[174]2)[172]10[170].5)[173]10
670 [139]cx[178]x[175]cy[178]y[167]2640
680 i[178][194](56320)[175]15
690 [139](([194](56320)[175]16)[178]0)[167]k[178]ti:[137]2660
700 [139]i[178]15[167]680
710 [139]i[178]13[167]d[178]d[170]2
720 [139]i[178]11[167]d[178]d[171]1
730 [139]i[178]7[167]d[178]d[170]1
740 [139]d[179]0[167]d[178]d[170]4
750 [139]d[177]3[167]d[178]d[171]4
760 [139]i[179][177]14[167]660
770 av[178]v1[170]x[170]y[172]h1:aw[178]w[170]x[170]y[172]h1
780 [145]d[137]810,830,850
790 [139]y[177]1[175]([194](av[171]h1)[175]1)[167]y[178]y[171]1:[151]aw[171]h1,1:[137]660
800 [137]860
810 [139]x[179]h[175]([194](av)[175]2)[167]x[178]x[170]1:[151]aw[170]1,1:[137]660
820 [137]860
830 [139]y[179]v[175]([194](av)[175]1)[167]y[178]y[170]1:[151]aw[170]h1,1:[137]660
840 [137]860
850 [139]x[177]1[175]([194](av[171]1)[175]2)[167]x[178]x[171]1:[151]aw[171]1,1:[137]660
860 dn[178]23:[141]2720
870 [153][163]16);"andandandandandandandcmdcmdcmdcmdcmdcmdcmdgeht nichton":[129]i[178]1[164]1000:[130]
880 [153][163]16);"on cmdcmdcmdcmdcmdcmdcmd on":[137]670
890 [153]"load ";
900 [129]i[178]1[164]h:[153]"andandand";:[130]:[153]""
910 [129]j[178]1[164]v:[153]"thenoncmdthenoncmdthen";:[129]i[178]1[164]h
920 k[178][194](v1[170]i[170]j[172]h1)
930 [153][202]("andandsqr thenandandand ",1[170]3[172]k,3);
940 [139]k[179]2[167][153]"oncmdthenoncmdthen";
950 [153]"oncmd";
960 [139][194](w[170]i[170]j[172]h1)[178]1[167][153]"cmd.";
970 [139]i[178]sx[175]j[178]sy[167][153]"cmd wait";
980 [139]i[178]cx[175]j[178]cy[167][153]"cmdspc(";
990 [139]i[178]x[175]j[178]y[167][153]"cmd";[202]("^>v<",d[170]1,1);
1000 [153]"";
1010 [130]:[153]"":[130]:[142]
1020 s[178]0:[153]"load
1030 av=v1+x+y*h1
1040 ondgoto1190,1330,1470
1050 ifsy=y-sandsx=xthengosub2570
1060 ifcy=y-sandcx=xthengosub2510
1070 k=peek(av-(s+1)*h1):ifk=0ork=2goto1140
1080 ifpeek(av-s*h1)and2thengosub1620:goto1100
1090 gosub1740
1100 ifpeek(av-1-s*h1)and2thengosub2090:goto1120
1110 gosub2210
1120 s=s+1:ifs>4goto1610
1130 goto1050
1140 ifpeek(av-s*h1)and2thengosub1820:goto1160
1150 gosub2290
1160 ifpeek(av-1-s*h1)and2thengosub1960:goto1180
1170 gosub2390
1180 return
1190 ifcy=yandcx=x+sthengosub2510
1200 ifsy=yandsx=x+sthengosub2570
1210 k=peek(av+s):ifk=0ork=1goto1280
1220 ifpeek(av+s)=2thengosub1740:goto1240
1230 gosub1620
1240 ifpeek(av+s-h1)and1thengosub2090:goto1260
1250 gosub2210
1260 s=s+1:ifs>4goto1610
1270 goto1190
1280 ifpeek(av+s)=0thengosub2290:goto1300
1290 gosub1820
1300 ifpeek(av+s-h1)and1thengosub1960:goto1320
1310 gosub2390
1320 return
1330 ifcy=y+sandcx=xthengosub2510
1340 ifsy=y+sandsx=xthengosub2570
1350 k=peek(av+s*h1):ifk=0ork=2thengoto1420
1360 ifpeek(av-1+s*h1)and2thengosub1620:goto1380
1370 gosub1740
1380 ifpeek(av+s*h1)=1thengosub2210:goto1400
1390 gosub2090
1400 s=s+1:ifs>4goto1610
1410 goto1330
1420 ifpeek(av-1+s*h1)and2thengosub1820:goto1440
1430 gosub2290
1440 ifpeek(av+s*h1)=0thengosub2390:goto1460
1450 gosub1960
1460 return
1470 ifcx=x-sandcy=ythengosub2510
1480 ifsx=x-sandsy=ythengosub2570
1490 k=peek(av-(s+1)):ifk=0ork=1thengoto1560
1500 ifpeek(av-s-h1)and1thengosub1620:goto1520
1510 gosub1740
1520 ifpeek(av-s)and1thengosub2090:goto1540
1530 gosub2210
1540 s=s+1:ifs>4then1610
1550 goto1470
1560 ifpeek(av-s-h1)and1thengosub1820:goto1580
1570 gosub2290
1580 ifpeek(av-s)and1thengosub1960:goto1600
1590 gosub2390
1600 return
1610 dn=11:gosub2720:printtab(19)"[205][206][157][157][206][205]":return
1620 dn=yl(s):gosub2720
1630 ifs=0thenprinttab(xr(s));"[175]"
1640 ifs>0ands<4thenfori=1to4-s:printtab(xr(s)+5-s)"[165]":next
1650 ifs>0thenprinttab(xr(s))mid$("[175][175][175][175][165]",s)
1660 ifs=4thenprinttab(xr(s))"[165][165][157][157][165][165]"
1670 q$="":ifs>0thenq$=mid$("[165]",s)
1680 ifs<4thenfori=0ton2(s)+1:printtab(xr(s))"[165]"q$:next
1690 ifs>0thenprinttab(xr(s))mid$("[183][183][183][183][165]",s)
1700 ifs>0ands<4thenfori=1to4-s:printtab(xr(s)+5-s)"[165]":next
1710 ifs=0thenprinttab(xr(s))"[183]"
1720 print"
1730 [142]
1740 dn[178]yl(s):[141]2720
1750 [139]s[178]0[167][153][163]xr(s))"(NULL)":[137]1770
1760 [129]i[178]1[164]5[171]s:[153][163]xr(s)[170]5[171]s[171]i)"(NULL)":[130]
1770 dn[178]n2(s)[170]2:[141]2730
1780 [139]s[178]0[167][153][163]xr(s))"(NULL)":[137]1800
1790 [129]i[178]0[164]4[171]s:[153][163]xr(s)[170]i)"(NULL)":[130]
1800 [153]"
1810 return
1820 j=3-s:ifs=0thenj=0
1830 print"";
1840 ifs>0goto1880
1850 printtab(20);:print"";:fori=1to18:print"[183]";:next:print"[183]"
1860 dn=n2(0):gosub2730
1870 printtab(20);:fori=1to19:print"[175]";:next:goto1940
1880 dn=yl(s):gosub2730
1890 fori=1to5-s:printtab(j+xr(s)+2)"[165]":next
1900 printtab(20);:fori=19toj+xr(s):print"[183]";:next:print"[165]"
1910 ifs<4thenfori=1ton2(s):printtab(j+xr(s)+2)"[165]":next
1920 printtab(20);:fori=19toj+xr(s):print"[175]";:next:print"[165]"
1930 fori=1to5-s:printtab(j+xr(s)+2)"[165]":next
1940 print"
1950 [142]
1960 [153]"";
1970 [139]s[177]0[137]2010
1980 [153]"";:[129]i[178]1[164]11[170]xl(0):[153]"usr";:[130]:[153]"usr"
1990 dn[178]n2(0):[141]2730
2000 [129]i[178]1[164]12[170]xl(0):[153]"and";:[130]:[137]1940
2010 dn[178]yl(s):[141]2730
2020 [129]i[178]1[164]5[171]s:[153][163]xl(s))"then":[130]
2030 [153][163]xl(s));:[153]"then";:[129]i[178]xl(s)[164]17:[153]"usr";:[130]:[153]"usr"
2040 [139]s[179]4[167][129]i[178]1[164]n2(s):[153][163]xl(s))"then":[130]
2050 [153][163]xl(s));:[153]"then";:[129]i[178]xl(s)[164]17:[153]"and";:[130]:[153]"and"
2060 [129]i[178]1[164]5[171]s:[153][163]xl(s))"then":[130]
2070 [153]"
2080 return
2090 dn=yl(s):gosub2720
2100 ifs=0thenprinttab(xl(s));"[175]"
2110 ifs>0ands<4thenfori=1to4-s:printtab(xl(s))"[167]":next
2120 ifs>0thenprinttab(xl(s))left$("[167][175][175][175][175]",6-s)
2130 ifs=4thenprinttab(xl(s))"[167][167][157][157][167][167]"
2140 q$="":ifs>0thenq$=mid$("[167]",s)
2150 ifs<4thenfori=0ton2(s)+1:printtab(xl(s))"[167]"q$:next
2160 ifs>0thenprinttab(xl(s))left$("[167][183][183][183][183]",6-s)
2170 ifs>0ands<4thenfori=1to4-s:printtab(xl(s))"[167]":next
2180 ifs=0thenprinttab(xl(s))"[183]"
2190 print"
2200 [142]
2210 dn[178]yl(s):[141]2720
2220 [139]s[178]0[167][153][163]xl(s));"(NULL)":[137]2240
2230 [129]i[178]1[164]5[171]s:[153][163]xl(s)[170]i)"(NULL)":[130]
2240 dn[178]n2(s)[170]2:[141]2730
2250 [139]s[178]0[167][153][163]xl(s))"(NULL)":[137]2270
2260 [129]i[178]0[164]4[171]s:[153][163]xl(s)[170]5[171]s[171]i)"(NULL)":[130]
2270 [153]""
2280 [142]
2290 [141]1740
2300 dn[178]yl(s)[170]5[171]s:[141]2720
2310 [153][163]20);
2320 [139]s[179]4[167][129]i[178]1[164]xr(s)[171]21:[153]"usr";:[130]
2330 [153]"(NULL)cmd";
2340 [139]s[179]4[167][129]i[178]1[164]n2(s):[153]"thencmd";:[130]
2350 [153]"sqrcmdcmd";
2360 [139]s[179]4[167][129]i[178]1[164]xr(s)[171]20[171]1:[153]"andcmdcmd";:[130]
2370 [153]"
2380 return
2390 ifs=0thenj=5:goto2410
2400 j=0
2410 gosub2210
2420 dn=yl(s)+5-s:gosub2720
2430 printtab(19);
2440 ifs<4thenfori=1to18-xl(s)-5+s+j:print"[183][157][157]";:next
2450 print"[207][157]";
2460 ifs<4thenfori=1ton2(s):print"[165][157]";:next
2470 print"[204]";
2480 ifs<4thenfori=1to18-xl(s)-5+s+j:print"[175]";:next
2490 print"
2500 [142]
2510 [139]s[178]0[176]s[178]4[167][142]
2520 dn[178]18:[141]2720
2530 [139]s[178]3[167][153][163]20);"ononon.
2540 ifs=2thenprinttab(19);"[145][169][146][169][157][157][166][206][145][165]
2550 [139]s[178]1[167][153][163]18);" andandandcmdcmdcmdcmd(NULL) (NULL)fncmdcmdcmdcmdcmdspc(spc(spc( fncmdcmdcmdcmdcmdspc(spc(spc((NULL)
2560 return
2570 ifs=0ors=4thenreturn
2580 dn=20:gosub2720
2590 ifs=3thenprinttab(19);"[145][145][145][145][145][162][162][145][157][157][146][162][162]
2600 [139]s[178]2[167][153][163]16);"onononstep (NULL)
2610 ifs=1thenprinttab(13);"[169] [223]
2620 [139]s[178]1[167][153][163]12);"step (NULL)
2630 return
2640 k=ti:fori=1to25:print:print""tab(15)"t o l l !!":forj=1to50:nextj
2650 print:print""tab(15)" ":forj=1to50:nextj,i
2660 gosub890
2670 print"[145]noch ein spiel? (up[146] = ja / down[146] = nein)"
2680 i=peek(56320)and15
2690 ifi=14thenprint"yes":goto270
2700 ifi=13thenprint"nein":pokeqk,0:end
2710 goto2680
2720 print"";
2730 ifdn>0thenforz=1todn:print"";:next
2740 return