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