home *** CD-ROM | disk | FTP | other *** search
- 10 rem copyright 1990 compute! publications, inc. - all rights reserved
- 20 poke54296,15:poke53280,0:poke53281,0:sys2636:dimp$(4)
- 30 p$(0)=" [157][157][157] "
- 40 p$(1)="[146][193][194] [145][157][157][146][195][196]"
- 50 p$(2)="[146][197][198][157][157] [146][199][200]"
- 60 p$(3)="[146][201][202] [157][157][146][203][204]"
- 70 p$(4)="[146][205][206][145][157][157] [146][207][208]"
- 80 fori=1to6:readt$(i):next:s$=t$(1)
- 90 data "open ","lattice ","diamonds","cyclone ","quadrate","random "
- 100 t1$="[176][192][174][176][192][174][178] [178][176][192][174][176][192][174][176][192][174][176][178][174][178][192][174][176][192][174]"
- 110 t2$="[173][192][174][171][192][189][171][192][179][171][192] [171][178][189][221] [221] [221] [221] [221][173][192][174]"
- 120 t3$="[173][192][189][177] [177] [177][173][192][189][177][173][189][173][192][189][173][177][189][177][192][189][173][192][189]"
- 130 tc$="[155][152][151][149][129][150][158]"
- 140 gosub2280
- 150 print"[147]";
- 160 s=1:mo=1:goto380
- 170 print"[150] selected: ";t$(s);" shown: ";s$;" "
- 180 poke198,0
- 190 geta$
- 200 j=(peek(56320)andpeek(56321))
- 210 ifa$="[135]"thengosub1330:gosub1390
- 220 ifa$="[136]"thengosub1330:sys2633:sys2624:goto450
- 230 if(jand16)=0thengosub1330:sys2633:sys2624:goto450
- 240 ifa$="[134]"then320
- 250 if(jand8)=0then320
- 260 ifa$="[138]"then350
- 270 if(jand4)=0then350
- 280 ifa$="[133]"then380
- 290 if(jand1)=0or(jand2)=0then380
- 300 ifa$="[140]"thengosub1330:gosub2280:sys2633:goto450
- 310 goto190
- 320 s=s+1:ifs=7thens=1
- 330 gosub1330
- 340 goto170
- 350 s=s-1:ifs=0thens=6
- 360 gosub1330
- 370 goto170
- 380 print"[150] generating ";t$(s);" ":poke1024+39,160
- 390 poke55296+39,10
- 400 poke218,peek(218)or128
- 410 gosub1330
- 420 on s gosub1740,1790,1430,1590,2120,1950
- 430 s$=t$(s)
- 440 sys2630
- 450 ifmo=1thengosub1130
- 460 gosub1330
- 470 goto170
- 480 rem draw mound/depression
- 490 printmid$(c$,1,1);
- 500 fori=1tox
- 510 printp$(1);"[145]";
- 520 next
- 530 printmid$(c$,2,1);"";
- 540 fori=1tox
- 550 printp$(2);"";
- 560 next
- 570 fori=1to2*x
- 580 print"[157][157][157]";
- 590 next
- 600 printmid$(c$,3,1);
- 610 fori=1tox
- 620 printp$(3);"";
- 630 next
- 640 printmid$(c$,4,1);"[145]";
- 650 fori=1tox
- 660 printp$(4);"[145]";
- 670 next
- 680 print"[145]";
- 690 if x=1 then920
- 700 forj=x-1to1step-1
- 710 fori=1toj*2+1:print"[157][157][157]";:next
- 720 printmid$(c$,1,1);
- 730 fori=1toj
- 740 printp$(0);"[145][145][145]";
- 750 next
- 760 printmid$(c$,2,1);"";
- 770 fori=1toj
- 780 printp$(0);"";
- 790 next
- 800 fori=1to2*j
- 810 print"[157][157][157]";
- 820 next
- 830 printmid$(c$,3,1);
- 840 fori=1toj
- 850 printp$(0);"";
- 860 next
- 870 printmid$(c$,4,1);"[145][145]";
- 880 fori=1toj
- 890 printp$(0);"[145][145][145]";
- 900 next
- 910 next
- 920 return
- 930 rem draw teleporter
- 940 x=int(rnd(0)*38)
- 950 y=int(rnd(0)*23)+1
- 960 if(peek(55296+y*40+x)and15)<>4then930
- 970 if(peek(55296+y*40+x+1)and15)<>4then930
- 980 if(peek(55296+y*40+x+40)and15)<>4then930
- 990 if(peek(55296+y*40+x+41)and15)<>4then930
- 1000 rem enter here for set location
- 1010 poke1024+y*40+x,102
- 1020 poke1024+y*40+x+1,102
- 1030 poke1024+y*40+x+40,102
- 1040 poke1024+y*40+x+41,102
- 1050 poke55296+y*40+x,7
- 1060 poke55296+y*40+x+1,7
- 1070 poke55296+y*40+x+40,7
- 1080 poke55296+y*40+x+41,7
- 1090 m=1024+y*40+x
- 1100 l=m and 255:h=int(m/256)
- 1110 poke2639,l:poke2640,h
- 1120 return
- 1130 rem display menu
- 1140 mo=1
- 1150 gosub1240
- 1160 print"[129][161]f1 generate selected terrain[146][161]"
- 1170 print"[161]f3 increase selected terrain[146][161]"
- 1180 print"[161]f4 decrease selected terrain[146][161]"
- 1190 print"[161]f5 menu on/off [146][161]"
- 1200 print"[161]f7 start battle [146][161]"
- 1210 print"[161]f8 return to title screen [146][161]"
- 1220 print"[188][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146][190]"
- 1230 return
- 1240 rem clr logical lines
- 1250 fori=217to242
- 1260 pokei,peek(i)or128
- 1270 next
- 1280 return
- 1290 rem select depression or mound
- 1300 ifrnd(0)<.5thenc$="[154][151][159]":goto1320
- 1310 c$="[155][151][152]"
- 1320 return
- 1330 rem beep
- 1340 poke54272,0:poke54273,200
- 1350 poke54277,0:poke54278,244
- 1360 poke54276,33:fori=1to100:next
- 1370 poke54276,32
- 1380 return
- 1390 rem toggle menu on/off
- 1400 if mo=1thenmo=0:sys2633:return
- 1410 gosub1130
- 1420 return
- 1430 rem diamonds
- 1440 sys2627
- 1450 poke781,12:poke782,6:poke783,0:sys65520
- 1460 gosub1290
- 1470 x=2:gosub480
- 1480 poke781,12:poke782,22:poke783,0:sys65520
- 1490 gosub1290
- 1500 x=2:gosub480
- 1510 poke781,6:poke782,14:poke783,0:sys65520
- 1520 gosub1290
- 1530 x=2:gosub480
- 1540 poke781,18:poke782,14:poke783,0:sys65520
- 1550 gosub1290
- 1560 x=2:gosub480
- 1570 x=19:y=12:gosub1000
- 1580 return
- 1590 rem cyclone
- 1600 sys2627
- 1610 poke781,3:poke782,1:poke783,0:sys65520
- 1620 gosub1290:x=1:gosub480
- 1630 poke781,3:poke782,33:poke783,0:sys65520
- 1640 gosub1290:x=1:gosub480
- 1650 poke781,21:poke782,33:poke783,0:sys65520
- 1660 gosub1290:x=1:gosub480
- 1670 poke781,21:poke782,1:poke783,0:sys65520
- 1680 gosub1290:x=1:gosub480
- 1690 poke781,12:poke782,5:poke783,0:sys65520
- 1700 gosub1290:x=5:gosub480
- 1710 gosub930
- 1720 return
- 1730 ;
- 1740 rem open
- 1750 sys2627
- 1760 gosub930
- 1770 return
- 1780 ;
- 1790 rem lattice
- 1800 sys2627
- 1810 print"";
- 1820 fori=1to12:print"";:t=7
- 1830 if(iand1)=0thenprint"";:t=6
- 1840 forj=1tot
- 1850 ifrnd(0)<.5thenprint"[193][154][200][157][157][151][201][159][208][145]";:goto1870
- 1860 print"[152][193][151][200][157][157][155][201][152][208][145]";
- 1870 print"";
- 1880 next
- 1890 ifi=12then1920
- 1900 print"[157][157][157]";
- 1910 if(iand1)=0thenprint"";
- 1920 next
- 1930 gosub930
- 1940 return
- 1950 rem random
- 1960 sys2627
- 1970 n=rnd(0)/1.5
- 1980 print"";
- 1990 fork=1to7:print"";:t=5
- 2000 if(kand1)=0thenprint"";:t=4
- 2010 forl=1tot
- 2020 ifrnd(0)>nthenprint"[145]";:goto2050
- 2030 gosub1290
- 2040 x=1:gosub480
- 2050 print"";
- 2060 next
- 2070 print"";
- 2080 if(kand1)=0thenprint"";
- 2090 next
- 2100 gosub930
- 2110 return
- 2120 rem quadrate
- 2130 sys2627
- 2140 poke781,7:poke782,2:poke783,0:sys65520
- 2150 gosub1290:x=int(rnd(0)*3)+1:ifx<3thenfori=1to3-x:print"";:next
- 2160 gosub480
- 2170 poke781,17:poke782,20:poke783,0:sys65520
- 2180 gosub1290:ifx<3thenfori=1to3-x:print"";:next
- 2190 gosub480
- 2200 poke781,5:poke782,25:poke783,0:sys65520
- 2210 gosub1290:x=int(rnd(0)*2)+1:ifx=1thenprint"";
- 2220 gosub480
- 2230 poke781,19:poke782,3:poke783,0:sys65520
- 2240 gosub1290:ifx=1thenprint"";
- 2250 gosub480
- 2260 gosub930
- 2270 return
- 2280 rem title screen
- 2290 printchr$(142);"[147]"
- 2300 poke53248+16,0
- 2310 poke2040,33:poke2041,34:poke2042,34
- 2320 poke53248+38,2:poke53248+39,14:poke53248+40,10:poke53248+41,5
- 2330 poke53248,142:poke53250,142:poke53252,142
- 2340 poke53249,147:poke53251,187:poke53253,227
- 2350 poke53248+28,7
- 2360 printtab(6);t1$
- 2370 printtab(6);t2$
- 2380 printtab(6);t3$
- 2390 printtab(12);"[152]copyright 1990"
- 2400 printtab(6);"compute! publications, inc."
- 2410 printtab(10);"[152]all rights reserved"
- 2420 poke53248+16,0
- 2430 poke53248+21,7
- 2440 print"battle [193][194][145][157][195][154][198][157][199][200] mound"
- 2450 print"craft [151][201][202][157][203][159][206][145][157][207][208]"
- 2460 print"unarmed [155][193][194][145][157][195][151][198][157][199][200] depression"
- 2470 print"spheroid [201][202][157][203][152][206][145][157][207][208]"
- 2480 print"armed [158][166][166] teleporter"
- 2490 x=0:y=0
- 2500 fori=0to8
- 2510 t1=i
- 2520 t2=i+1:ift2>8thent2=t2-9
- 2530 t3=i+2:ift3>8thent3=t3-9
- 2540 print"";
- 2550 printtab(6);mid$(tc$,t1+1,1);t1$
- 2560 printtab(6);mid$(tc$,t2+1,1);t2$
- 2570 printtab(6);mid$(tc$,t3+1,1);t3$
- 2580 poke781,22:poke782,23:poke783,0:sys65520
- 2590 ifx=0thenx=1:print"[158][166][166][157][157][166][166]":goto2610
- 2600 x=0:print"[158][166][166][157][157][166][166]"
- 2610 geta$:ifa$<>""theny=1:i=8
- 2620 j=(peek(56320)andpeek(56321))
- 2630 if(jand1)=0or(jand2)=0or(jand4)=0or(jand8)=0or(jand16)=0theny=1:i=8
- 2640 nexti
- 2650 ify=1then2670
- 2660 goto2500
- 2670 poke53248+21,0
- 2680 return
-