====== SUBLEVEL ====== {{:otros:Sublevel_p1.jpg?690|}} ===== Info ===== ^ Author | Jorge Perez Barreiro | ^ Computer | Amstrad PCW 8256 / 8512 / 9512 | ^ Year | 1989 | ^ Gender | Pac-Man | ^ Controls | Keyboard | ^ Languages | Spanish | ^ Status | [[preserved|Preserved]] | ===== Screenshots ===== {{:otros:Sublevel_screenshot01.png?220}} {{:otros:Sublevel_screenshot02.png?220}} {{:otros:Sublevel_screenshot03.png?220}} {{:otros:Sublevel_screenshot04.png?220}} ===== Description ===== A pacman-type game but with numerous randomly generated levels. The game is to eat all the dots without being caught by the ghost. Once all this is achieved, you can access the next sublevel at the bottom of the screen. Some objects that we find in the game: * Potion: To flee from the ghost * Caravel: It takes a life from us * Well: We lose the potions we carry * Trophy: Gives us an extra life. * Parchment: Spell to pass the level. * Bulb: Vitamin to catch the ghost. ===== Listing ===== * **__Listing 1 - SUB.BAS__** 100 '********************************************************* 110 '** ** 120 '** S U B L E V E L ** 130 '** (C) 2-12-1989 Jorge Perez ** 140 '** AMSTRAD PCW 8256-8512-9512 ** 150 '** ** 160 '** Sabadell(BARCELONA) ** 170 '********************************************************* 180 ' 190 ' 200 '(PRIMERA PARTE "SUB") 210 ' 220 ' 230 cls$=CHR$(27)+"E"+CHR$(27)+"H":REM BORRAR PANTALLA 240 DEF FN at$(v,h)=CHR$(27)+"Y"+CHR$(32+v)+CHR$(32+h):REM CONTROL "AT" 250 inverse1$=CHR$(27)+"p":REM VIDEO INVERSO 260 inverse0$=CHR$(27)+"q":REM VIDEO NORMAL 270 cursor1$=CHR$(27)+"e":REM CON CURSOR 280 cursor0$=CHR$(27)+"f":REM SIN CURSOR 290 scrab$=CHR$(27)+"L" 300 scrar$=CHR$(27)+"M" 310 DEF FN ventana$(a,b,c,d)=CHR$(27)+"X"+CHR$(32+a)+CHR$(32+b)+CHR$(c-1+32)+CHR$(d-1+32) 320 PRINT cls$ 330 PRINT cursor0$ 340 GOSUB 4930 350 PRINT FN at$(12,32);"* CARGANDO SUBLEVEL *" 360 RESTORE 1120:FOR q=65 TO 90 370 ca=q:GOSUB 5050 380 NEXT q 390 FOR q=97 TO 122 400 ca=q:GOSUB 5050 410 NEXT q 420 FOR q=48 TO 57:ca=q:GOSUB 5050:NEXT q 430 FOR q=125 TO 134:ca=q:GOSUB 5050:NEXT q 440 ca=42:GOSUB 5050 450 ca=43:GOSUB 5050 460 ca=46:GOSUB 5050 470 ca=47:GOSUB 5050 480 ca=58:GOSUB 5050 490 ca=59:GOSUB 5050 500 ca=95:GOSUB 5050 510 ca=96:GOSUB 5050 520 ca=44:GOSUB 5050 530 ca=45:GOSUB 5050 540 ca=92:GOSUB 5050 550 ca=124:GOSUB 5050 560 PRINT FN at$(12,24);"*+ CcAaRrGgAaNnDdOo SsUuBbLlEeVvEeLl *+" 570 FOR q=136 TO 237:ca=q:GOSUB 5050:NEXT q 580 FOR q=3 TO 84 STEP 7 590 PRINT FN at$(0,q);:FOR y=224 TO 230:PRINT CHR$(y);:NEXT y 600 PRINT FN at$(1,q);:FOR y=231 TO 237:PRINT CHR$(y);:NEXT y 610 NEXT q 620 PRINT FN at$(0,0);CHR$(136)+CHR$(137)+CHR$(138)+CHR$(139) 630 PRINT FN at$(1,0);CHR$(140)+CHR$(141)+CHR$(142)+CHR$(143) 640 PRINT FN at$(2,0);CHR$(144)+CHR$(145)+CHR$(146) 650 PRINT FN at$(0,86);CHR$(158)+CHR$(159)+CHR$(160)+CHR$(161) 660 PRINT FN at$(1,86);CHR$(162)+CHR$(163)+CHR$(164)+CHR$(165) 670 PRINT FN at$(2,87);CHR$(166)+CHR$(167)+CHR$(168) 680 FOR q=3 TO 84 STEP 7 690 PRINT FN at$(20,q);:FOR y=210 TO 216:PRINT CHR$(y);:NEXT y 700 PRINT FN at$(21,q);:FOR y=217 TO 223:PRINT CHR$(y);:NEXT y 710 NEXT q 720 PRINT FN at$(19,0);CHR$(155)+CHR$(156)+CHR$(157) 730 PRINT FN at$(20,0);CHR$(147)+CHR$(148)+CHR$(149)+CHR$(150) 740 PRINT FN at$(21,0);CHR$(151)+CHR$(152)+CHR$(153)+CHR$(154) 750 PRINT FN at$(19,87);CHR$(177)+CHR$(178)+CHR$(179) 760 PRINT FN at$(20,86);CHR$(169)+CHR$(170)+CHR$(171)+CHR$(172) 770 PRINT FN at$(21,86);CHR$(173)+CHR$(174)+CHR$(175)+CHR$(176) 780 FOR q=3 TO 16 STEP 4 790 PRINT FN at$(q,0);CHR$(180)+CHR$(181)+CHR$(182)+CHR$(183) 800 PRINT FN at$(q+1,0);CHR$(184)+CHR$(185)+CHR$(186)+CHR$(187) 810 PRINT FN at$(q+2,0);CHR$(188)+CHR$(189)+CHR$(190)+CHR$(191) 820 PRINT FN at$(q+3,0);CHR$(192)+CHR$(193)+CHR$(194) 830 PRINT FN at$(q,86);CHR$(195)+CHR$(196)+CHR$(197)+CHR$(198) 840 PRINT FN at$(q+1,86);CHR$(199)+CHR$(200)+CHR$(201)+CHR$(202) 850 PRINT FN at$(q+2,86);CHR$(205)+CHR$(206)+CHR$(203)+CHR$(204) 860 PRINT FN at$(q+3,87);CHR$(209)+CHR$(207)+CHR$(208) 870 NEXT q 880 FOR q=136 TO 209:ca=q:GOSUB 5050:NEXT q 890 FOR q=7 TO 82 900 PRINT FN at$(22,q);CHR$(154);FN at$(29,q);CHR$(155) 910 NEXT q 920 PRINT FN at$(22,0);:FOR q=136 TO 142:PRINT CHR$(q);:NEXT q 930 PRINT FN at$(23,0);:FOR q=143 TO 148:PRINT CHR$(q);:NEXT q 940 PRINT FN at$(24,0);:FOR q=149 TO 151:PRINT CHR$(q);:NEXT q 950 PRINT FN at$(25,0);CHR$(152);CHR$(153) 960 PRINT FN at$(22,83);:FOR q=156 TO 162:PRINT CHR$(q);:NEXT q 970 PRINT FN at$(23,84);:FOR q=163 TO 168:PRINT CHR$(q);:NEXT q 980 PRINT FN at$(24,87);:FOR q=169 TO 171:PRINT CHR$(q);:NEXT q 990 PRINT FN at$(25,88);CHR$(172);CHR$(173) 1000 PRINT FN at$(26,0);CHR$(174);CHR$(175) 1010 PRINT FN at$(27,0);:FOR q=176 TO 178:PRINT CHR$(q);:NEXT q 1020 PRINT FN at$(28,0);:FOR q=179 TO 184:PRINT CHR$(q);:NEXT q 1030 PRINT FN at$(29,0);:FOR q=185 TO 191:PRINT CHR$(q);:NEXT q 1040 PRINT FN at$(26,88);CHR$(192);CHR$(193) 1050 PRINT FN at$(27,87);:FOR q=194 TO 196:PRINT CHR$(q);:NEXT q 1060 PRINT FN at$(28,84);:FOR q=197 TO 202:PRINT CHR$(q);:NEXT q 1070 PRINT FN at$(29,83);:FOR q=203 TO 209:PRINT CHR$(q);:NEXT q 1080 FOR q=136 TO 249:ca=q:GOSUB 5050:NEXT q 1090 RUN "SUB2" 1100 STOP 1110 REM MAYUSCULAS 1 1120 DATA 15,8,17,17,49,32,35,63 1130 DATA 63,32,35,32,35,35,32,63 1140 DATA 15,16,35,35,35,49,28,7 1150 DATA 63,32,35,35,35,35,32,63 1160 DATA 63,32,35,32,35,35,32,63 1170 DATA 63,32,35,32,35,35,35,63 1180 DATA 15,48,35,35,35,35,56,15 1190 DATA 63,35,35,32,35,35,35,63 1200 DATA 7,4,4,4,4,4,4,7 1210 DATA 1,1,1,1,63,35,48,15 1220 DATA 63,35,32,33,32,34,35,63 1230 DATA 31,16,16,16,16,16,16,31 1240 DATA 127,65,64,68,70,71,71,126 1250 DATA 63,33,32,32,34,35,35,63 1260 DATA 15,48,35,35,35,35,24,15 1270 DATA 63,32,35,32,35,35,35,63 1280 DATA 15,48,35,35,35,35,24,15 1290 DATA 63,32,35,32,34,35,35,63 1300 DATA 15,48,35,48,63,35,56,15 1310 DATA 63,32,60,4,4,4,4,7 1320 DATA 63,35,35,35,35,35,48,31 1330 DATA 62,35,33,17,17,8,8,15 1340 DATA 127,68,68,68,97,33,33,63 1350 DATA 127,99,48,28,24,49,67,127 1360 DATA 125,67,32,16,8,8,8,15 1370 DATA 31,16,31,4,24,33,32,63 1380 REM MAYUSCULAS 2 1390 DATA 240,48,56,24,28,12,12,252 1400 DATA 240,56,24,56,28,12,60,252 1410 DATA 240,28,140,252,248,140,60,252 1420 DATA 240,24,140,140,140,28,120,240 1430 DATA 248,24,248,96,224,248,24,248 1440 DATA 248,24,248,96,224,224,0,0 1450 DATA 240,28,140,252,12,140,12,252 1460 DATA 252,140,140,12,140,140,140,124 1470 DATA 224,96,96,96,96,96,96,224 1480 DATA 252,24,24,24,24,24,56,240 1490 DATA 252,28,120,224,224,56,140,124 1500 DATA 128,128,128,128,128,248,24,248 1510 DATA 254,6,6,70,198,198,198,126 1520 DATA 252,140,140,12,12,12,140,252 1530 DATA 240,28,140,140,140,140,56,240 1540 DATA 240,28,140,28,248,128,0,0 1550 DATA 240,28,140,140,140,156,120,156 1560 DATA 240,28,12,28,56,24,12,124 1570 DATA 240,28,252,120,140,140,60,240 1580 DATA 252,12,124,96,96,96,96,224 1590 DATA 248,24,24,24,24,24,56,240 1600 DATA 252,140,12,28,24,56,48,240 1610 DATA 254,70,70,70,14,12,12,252 1620 DATA 254,142,24,112,56,28,134,254 1630 DATA 252,28,56,112,224,192,192,192 1640 DATA 252,12,24,48,224,252,12,252 1650 REM NUMEROS 1 1660 DATA 31,48,35,35,35,35,24,15 1670 DATA 1,6,4,4,4,4,4,7 1680 DATA 15,48,63,31,12,48,32,63 1690 DATA 31,48,63,4,63,35,56,15 1700 DATA 3,12,16,35,34,32,62,3 1710 DATA 31,16,19,16,63,35,24,15 1720 DATA 31,48,35,32,35,35,24,15 1730 DATA 31,16,31,2,4,8,16,31 1740 DATA 15,48,35,16,99,71,48,31 1750 DATA 15,48,35,48,63,35,24,15 1760 REM NEMEROS 2 1770 DATA 240,56,24,24,24,24,120,240 1780 DATA 224,96,96,96,96,96,96,224 1790 DATA 224,56,24,24,120,240,24,248 1800 DATA 224,56,24,56,24,24,120,224 1810 DATA 248,56,224,48,60,12,60,240 1820 DATA 248,24,248,56,24,24,120,240 1830 DATA 224,56,248,112,24,24,120,240 1840 DATA 248,24,56,48,112,224,224,192 1850 DATA 224,56,24,48,28,140,60,240 1860 DATA 224,56,24,24,24,24,120,240 1870 REM SIGNOS 1880 DATA 7,116,156,96,48,204,124,7 1890 DATA 128,220,230,28,56,230,254,192 1900 DATA 0,0,0,0,0,7,4,7 1910 DATA 0,0,0,0,0,224,96,224 1920 DATA 0,7,4,7,0,7,4,7 1930 DATA 0,224,96,224,0,224,96,224 1940 DATA 0,255,192,255,0,0,0,0 1950 DATA 0,252,6,254,0,0,0,0 1960 DATA 0,0,0,0,7,6,6,3 1970 DATA 0,0,0,0,224,96,96,224 1980 DATA 127,96,33,32,34,35,35,63 1990 DATA 254,6,140,140,12,12,140,252 2000 REM VENTANA (A) 2010 DATA 0,0,1,7,14,28,30,15 2020 DATA 0,0,224,255,31,7,0,128 2030 DATA 0,15,48,225,195,204,217,127 2040 DATA 0,192,56,255,0,0,36,255 2050 DATA 15,15,28,113,195,135,206,108 2060 DATA 192,240,63,255,251,56,88,56 2070 DATA 24,14,7,3,199,253,182,118 2080 DATA 0,0,36,255,48,192,0,0 2090 DATA 60,28,12,12,12,12,12,12 2100 DATA 88,56,88,56,88,56,88,56 2110 DATA 188,112,176,112,176,112,176,112 2120 DATA 108,206,135,195,113,28,15,15 2130 DATA 56,88,56,251,255,63,240,192 2140 DATA 118,182,253,199,3,7,14,24 2150 DATA 0,0,192,48,255,36,0,0 2160 DATA 15,30,28,14,7,1,0,0 2170 DATA 128,0,7,31,255,224,0,0 2180 DATA 127,217,204,195,225,48,15,0 2190 DATA 255,36,0,0,255,56,192,0 2200 DATA 12,12,12,12,12,12,28,60 2210 DATA 56,88,56,88,56,88,56,88 2220 DATA 112,176,112,176,112,176,112,188 2230 DATA 0,3,28,255,0,0,36,255 2240 DATA 0,240,12,135,195,51,155,254 2250 DATA 0,0,7,255,248,224,0,0 2260 DATA 0,0,128,224,112,56,120,240 2270 DATA 0,0,36,255,12,3,0,0 2280 DATA 24,112,224,192,227,191,109,110 2290 DATA 3,15,252,255,223,28,26,28 2300 DATA 240,240,56,142,195,225,115,54 2310 DATA 61,14,13,14,13,14,13,14 2320 DATA 26,28,26,28,26,28,26,28 2330 DATA 60,56,48,48,48,48,48,48 2340 DATA 0,0,3,12,255,36,0,0 2350 DATA 110,109,191,227,192,224,112,24 2360 DATA 28,26,28,223,255,252,15,3 2370 DATA 54,115,225,195,142,56,240,240 2380 DATA 255,36,0,0,255,28,3,0 2390 DATA 254,155,51,195,135,12,240,0 2400 DATA 0,0,224,248,255,7,0,0 2410 DATA 240,120,56,112,224,128,0,0 2420 DATA 14,13,14,13,14,13,14,61 2430 DATA 28,26,28,26,28,26,28,26 2440 DATA 48,48,48,48,48,48,56,60 2450 DATA 12,12,12,12,12,12,124,204 2460 DATA 88,56,88,56,88,56,88,56 2470 DATA 176,124,182,119,179,115,161,97 2480 DATA 0,0,0,0,0,128,128,128 2490 DATA 206,195,112,28,15,13,13,14 2500 DATA 88,249,121,30,24,0,1,7 2510 DATA 195,135,14,24,48,224,160,96 2520 DATA 0,0,0,0,0,0,0,0 2530 DATA 12,24,24,48,48,96,96,193 2540 DATA 10,23,56,64,3,62,216,216 2550 DATA 176,248,14,3,227,179,126,184 2560 DATA 0,0,0,0,0,0,0,0 2570 DATA 195,195,198,100,60,12,12,12 2580 DATA 56,88,56,88,56,88,56,88 2590 DATA 112,176,112,176,112,176,112,176 2600 DATA 0,0,0,0,0,1,1,1 2610 DATA 13,62,109,238,205,206,133,134 2620 DATA 26,28,26,28,26,28,26,28 2630 DATA 48,48,48,48,48,48,126,115 2640 DATA 0,0,0,0,0,0,0,0 2650 DATA 195,225,112,24,12,15,13,14 2660 DATA 27,159,158,120,24,0,128,224 2670 DATA 243,195,14,56,240,176,176,112 2680 DATA 80,232,60,2,192,124,27,27 2690 DATA 48,24,24,12,12,6,6,131 2700 DATA 0,0,0,0,0,0,0,0 2710 DATA 13,31,112,192,199,205,126,29 2720 DATA 28,26,28,26,28,26,28,26 2730 DATA 195,195,99,38,60,48,48,48 2740 DATA 14,13,14,13,14,13,14,13 2750 DATA 0,7,60,96,255,36,0,0 2760 DATA 63,192,0,31,255,146,0,0 2770 DATA 192,60,3,0,192,99,48,24 2780 DATA 0,0,128,127,29,3,192,96 2790 DATA 15,16,8,248,113,135,60,224 2800 DATA 128,192,192,192,255,36,0,0 2810 DATA 0,0,0,0,255,73,0,0 2820 DATA 255,36,0,0,255,0,0,0 2830 DATA 255,146,0,0,255,0,0,0 2840 DATA 248,88,24,48,225,199,124,0 2850 DATA 120,108,110,215,255,0,0,0 2860 DATA 127,61,15,3,192,112,14,1 2870 DATA 255,36,64,213,255,62,1,254 2880 DATA 255,73,0,0,255,60,224,0 2890 DATA 0,0,0,255,0,0,36,255 2900 DATA 0,0,0,255,0,0,146,255 2910 DATA 0,124,199,225,48,24,88,248 2920 DATA 0,0,0,255,215,110,108,120 2930 DATA 1,14,112,192,3,15,61,127 2940 DATA 254,1,62,255,213,64,36,255 2950 DATA 0,224,60,255,0,0,73,255 2960 DATA 0,0,36,255,96,60,7,0 2970 DATA 0,0,146,255,31,0,192,63 2980 DATA 24,48,99,192,0,3,60,192 2990 DATA 96,192,3,29,127,128,0,0 3000 DATA 224,60,135,113,248,8,16,15 3010 DATA 0,0,36,255,192,192,192,128 3020 DATA 0,0,73,255,0,0,0,0 3030 REM VENTANA (B) 3040 DATA 255,192,207,204,204,207,192,255 3050 DATA 255,3,251,51,51,255,0,255 3060 DATA 63,48,51,51,51,243,51,243 3070 DATA 255,0,255,0,0,255,0,255 3080 DATA 255,0,255,0,0,255,0,255 3090 DATA 255,0,255,0,0,255,0,195 3100 DATA 255,0,255,0,0,224,192,0 3110 DATA 0,255,192,207,204,204,204,204 3120 DATA 51,243,51,243,51,51,51,51 3130 DATA 51,255,0,255,51,51,51,51 3140 DATA 0,255,0,255,0,0,0,0 3150 DATA 7,252,0,255,0,0,0,0 3160 DATA 12,48,192,0,0,0,0,0 3170 DATA 204,204,204,204,204,204,204,204 3180 DATA 51,51,51,51,51,48,48,51 3190 DATA 51,51,115,195,14,56,224,128 3200 DATA 204,204,204,204,204,204,204,204 3210 DATA 62,56,0,0,0,0,0,0 3220 DATA 255,0,255,0,0,0,0,0 3230 DATA 0,0,0,0,0,255,0,255 3240 DATA 255,0,255,0,0,7,3,0 3250 DATA 255,0,255,0,0,255,0,195 3260 DATA 255,0,255,0,0,255,0,255 3270 DATA 255,0,255,0,0,255,0,255 3280 DATA 252,12,204,204,204,207,204,207 3290 DATA 255,192,207,204,204,255,0,255 3300 DATA 255,3,243,51,51,243,3,255 3310 DATA 48,12,3,0,0,0,0,0 3320 DATA 224,63,0,255,0,0,0,0 3330 DATA 0,255,0,255,0,0,0,0 3340 DATA 204,255,0,255,204,204,204,204 3350 DATA 204,207,204,207,204,204,204,204 3360 DATA 0,255,3,243,51,51,51,51 3370 DATA 204,204,206,195,112,28,7,1 3380 DATA 204,204,204,204,204,12,12,204 3390 DATA 51,51,51,51,51,51,51,51 3400 DATA 124,28,0,0,0,0,0,0 3410 DATA 51,51,51,51,51,51,51,51 3420 DATA 204,204,204,204,204,204,204,204 3430 DATA 0,0,0,0,0,0,56,62 3440 DATA 204,204,204,204,204,204,204,204 3450 DATA 51,48,48,51,51,51,51,51 3460 DATA 128,224,56,14,195,115,51,51 3470 DATA 204,204,204,204,207,192,255,0 3480 DATA 51,51,51,51,243,51,243,51 3490 DATA 51,51,51,51,255,0,255,51 3500 DATA 0,0,0,0,255,0,255,0 3510 DATA 0,0,0,0,255,0,252,7 3520 DATA 0,0,0,0,0,192,48,12 3530 DATA 255,192,207,204,204,207,192,255 3540 DATA 255,0,255,51,51,251,3,255 3550 DATA 243,51,243,51,51,51,48,63 3560 DATA 255,0,255,0,0,255,0,255 3570 DATA 255,0,255,0,0,255,0,255 3580 DATA 195,0,255,0,0,255,0,255 3590 DATA 0,192,224,0,0,255,0,255 3600 DATA 0,0,0,0,0,0,28,124 3610 DATA 51,51,51,51,51,51,51,51 3620 DATA 1,7,28,112,195,206,204,204 3630 DATA 204,12,12,204,204,204,204,204 3640 DATA 51,51,51,51,51,51,51,51 3650 DATA 0,0,0,0,0,3,12,48 3660 DATA 0,0,0,0,255,0,63,224 3670 DATA 0,0,0,0,255,0,255,0 3680 DATA 204,204,204,204,255,0,255,204 3690 DATA 204,204,204,204,207,204,207,204 3700 DATA 51,51,51,51,243,3,255,0 3710 DATA 0,3,7,0,0,255,0,255 3720 DATA 195,0,255,0,0,255,0,255 3730 DATA 255,0,255,0,0,255,0,255 3740 DATA 255,0,255,0,0,255,0,255 3750 DATA 207,204,207,204,204,204,12,252 3760 DATA 255,0,255,204,204,207,192,255 3770 DATA 255,3,243,51,51,243,3,255 3780 REM GRAFICOS 3790 DATA 11,44,92,191,191,95,47,11 3800 DATA 248,62,189,212,64,212,253,254 3810 DATA 31,124,189,43,2,43,191,127 3820 DATA 208,52,58,253,253,250,244,208 3830 DATA 104,244,250,206,199,95,47,21 3840 DATA 22,47,47,191,127,253,250,84 3850 DATA 21,47,95,199,206,250,244,104 3860 DATA 84,250,253,127,191,47,47,22 3870 DATA 11,44,92,191,191,95,47,11 3880 DATA 248,62,191,255,85,213,255,252 3890 DATA 31,124,253,255,170,171,255,63 3900 DATA 208,52,58,253,253,250,244,208 3910 DATA 31,127,255,207,199,95,47,21 3920 DATA 86,87,95,127,255,253,250,84 3930 DATA 21,47,95,199,207,255,127,31 3940 DATA 84,250,253,255,127,95,87,86 3950 DATA 23,47,81,170,177,191,189,88 3960 DATA 240,252,198,171,199,255,239,198 3970 DATA 0,0,3,5,5,3,0,0 3980 DATA 0,0,192,224,224,192,0,0 3990 DATA 25,0,99,5,5,99,0,25 4000 DATA 152,0,198,224,224,198,0,152 4010 DATA 63,58,58,58,58,58,63,0 4020 DATA 255,171,171,171,171,171,255,0 4030 DATA 255,219,182,237,219,182,237,255 4040 DATA 255,109,219,183,109,219,183,255 4050 DATA 63,77,151,183,183,149,79,62 4060 DATA 3,238,183,255,189,255,247,63 4070 DATA 225,191,253,127,219,253,255,193 4080 DATA 225,191,255,229,194,194,101,252 4090 DATA 252,111,251,207,251,191,239,124 4100 DATA 255,224,192,195,195,192,224,255 4110 DATA 255,7,3,195,195,3,7,255 4120 DATA 7,13,27,55,111,222,219,223 4130 DATA 224,176,248,124,238,251,223,255 4140 DATA 96,211,102,3,48,105,51,1 4150 DATA 0,12,154,12,0,134,77,134 4160 DATA 201,104,176,108,38,83,86,163 4170 DATA 155,134,204,201,105,101,102,58 4180 DATA 255,100,178,217,236,182,155,253 4190 DATA 255,38,77,155,55,109,217,191 4200 DATA 255,192,255,195,219,219,195,255 4210 DATA 255,99,107,107,107,123,11,255 4220 DATA 68,16,132,16,136,34,8,66 4230 DATA 74,129,36,129,36,16,66,17 4240 DATA 255,182,255,191,255,191,255,182 4250 DATA 255,219,255,251,255,251,255,219 4260 DATA 221,141,118,219,50,222,102,184 4270 DATA 107,179,102,189,233,187,205,211 4280 DATA 255,170,191,165,170,191,170,255 4290 DATA 255,169,253,85,165,253,169,255 4300 DATA 255,102,255,153,255,102,255,153 4310 DATA 0,15,31,111,254,254,118,0 4320 DATA 0,15,191,99,193,201,227,253 4330 DATA 0,240,253,198,131,147,198,191 4340 DATA 0,240,248,246,127,127,110,0 4350 DATA 0,119,255,255,111,31,14,0 4360 DATA 127,189,218,218,26,13,7,0 4370 DATA 255,189,91,91,88,176,224,0 4380 DATA 0,238,255,255,246,248,112,0 4390 DATA 1,0,0,0,0,0,1,7 4400 DATA 255,112,28,28,28,60,224,9 4410 DATA 255,14,56,56,56,156,135,32 4420 DATA 128,0,0,0,0,0,128,224 4430 DATA 14,31,27,30,15,7,1,0 4440 DATA 162,223,183,254,175,199,237,127 4450 DATA 138,221,125,55,99,119,191,254 4460 DATA 112,248,184,248,176,224,128,0 4470 DATA 12,3,0,30,0,6,24,0 4480 DATA 24,96,0,120,0,96,24,0 4490 DATA 0,7,14,30,62,126,222,255 4500 DATA 0,255,0,87,93,117,0,255 4510 DATA 0,255,0,190,74,174,0,255 4520 DATA 0,224,112,120,124,126,123,255 4530 DATA 7,125,213,125,195,236,47,131 4540 DATA 255,85,85,85,239,0,123,123 4550 DATA 255,85,85,85,123,0,222,222 4560 DATA 224,94,87,93,195,55,244,195 4570 DATA 188,61,193,236,47,131,184,29 4580 DATA 0,239,239,0,123,123,0,239 4590 DATA 0,123,123,0,222,222,0,123 4600 DATA 31,220,195,55,244,195,30,216 4610 DATA 63,213,214,214,124,0,0,0 4620 DATA 255,236,236,237,100,127,96,105 4630 DATA 255,84,212,213,108,255,49,187 4640 DATA 248,92,222,222,71,255,23,255 4650 DATA 0,0,0,124,214,214,213,63 4660 DATA 105,102,96,127,255,232,254,255 4670 DATA 190,183,59,255,223,147,247,255 4680 DATA 111,143,247,63,126,174,252,248 4690 DATA 0,14,28,60,60,62,31,15 4700 DATA 0,232,56,24,8,0,128,224 4710 DATA 0,126,62,62,62,62,62,62 4720 DATA 0,12,8,8,8,8,8,8 4730 DATA 0,126,60,60,60,60,60,60 4740 DATA 0,224,112,120,120,120,240,224 4750 DATA 0,31,15,15,15,15,15,15 4760 DATA 0,192,128,128,128,128,128,128 4770 DATA 0,126,62,62,62,62,62,62 4780 DATA 0,248,56,24,8,32,96,224 4790 DATA 0,126,60,60,30,30,30,15 4800 DATA 0,62,28,8,8,16,16,16 4810 DATA 3,0,32,48,56,46,0,0 4820 DATA 240,248,120,120,112,224,0,0 4830 DATA 62,62,62,62,30,15,0,0 4840 DATA 8,8,8,8,16,96,0,0 4850 DATA 60,60,60,60,60,126,0,0 4860 DATA 240,120,120,120,112,224,0,0 4870 DATA 15,15,15,15,15,31,0,0 4880 DATA 128,128,130,130,134,222,0,0 4890 DATA 62,62,62,62,62,126,0,0 4900 DATA 96,32,8,24,56,248,0,0 4910 DATA 15,15,7,7,7,3,0,0 4920 DATA 32,32,160,128,128,192,0,0 4930 REM GRAPHIC'S CREATOR 4940 MEMORY 62220! 4950 lla=62228! 4960 RESTORE 5020 4970 FOR s=62228! TO 62280! 4980 READ a$:op=VAL("&H"+a$) 4990 POKE s,op 5000 NEXT s 5010 RETURN 5020 DATA 2A,01,00,11,57,00,19,22,3E 5030 DATA F3,01,27,F3,CD,3D,F3,E9,00,C9,2A,40,F3,26,00,29,29,29,11,00,B8,19,11,41,F3 5040 DATA EB,01,08,00,ED,B0,C9,C3,38,00,0B,00,B0,04,87,20,4C,44,49 5050 POKE 62272!,ca:FOR t=62273! TO 62280!:READ by:POKE t,by:NEXT t:CALL lla:RETURN 5060 STOP 5070 CLEAR:SAVE "SUB" * **__Listing 2 - SUB2.BAS__** 100 '********************************************************* 110 '** ** 120 '** S U B L E V E L ** 130 '** (C) 2-12-1989 Jorge Perez ** 140 '** AMSTRAD PCW 8256-8512-9512 ** 150 '** ** 160 '** Sabadell(BARCELONA) ** 170 '********************************************************* 180 ' 190 ' 200 '(SEGUNDA PARTE "SUB2") 210 ' 220 ' 230 CLEAR 240 cls$=CHR$(27)+"E"+CHR$(27)+"H":REM BORRAR PANTALLA 250 DEF FN at$(v,h)=CHR$(27)+"Y"+CHR$(32+v)+CHR$(32+h):REM CONTROL "AT" 260 inverse1$=CHR$(27)+"p":REM VIDEO INVERSO 270 inverse0$=CHR$(27)+"q":REM VIDEO NORMAL 280 cursor1$=CHR$(27)+"e":REM CON CURSOR 290 cursor0$=CHR$(27)+"f":REM SIN CURSOR 300 scrab$=CHR$(27)+"L" 310 scrar$=CHR$(27)+"M" 320 DEF FN ventana$(a,b,c,d)=CHR$(27)+"X"+CHR$(32+a)+CHR$(32+b)+CHR$(c-1+32)+CHR$(d-1+32) 330 vn$=FN ventana$(0,0,31,90) 340 vm$=FN ventana$(23,8,6,76) 350 vj$=FN ventana$(2,3,18,84) 360 vj2$=FN ventana$(5,4,15,82) 370 d1$="p" 380 d2$="o" 390 d3$="q" 400 d4$="a" 410 d5$=" " 420 re$=" ":re2$="99999999" 430 OPEN "R",1,"RECOSUB.DAT" 440 FIELD 1,26 AS nom$,6 AS sub$,16 AS pun$ 450 OPEN "R",2,"M:RECOSUB2.DAT" 460 FIELD 2,26 AS nom2$,6 AS sub2$,16 AS pun2$ 470 FOR q=1 TO 10 480 GET 1,q:LSET nom2$=nom$:LSET sub2$=sub$:LSET pun2$=pun$:PUT 2,q 490 IF pun$>re$ THEN re$=pun$ 500 IF pun$96 AND ASC(s$)<125 THEN sa$=CHR$(ASC(s$)-32)+s$ 1340 IF ASC(s$)>47 AND ASC(s$)<58 THEN sa$=s$+CHR$(ASC(s$)+77) 1350 IF sa$="" THEN sa$=":;CcOoNnTtRrOoLl:;" 1360 PRINT FN at$(8+(p*2),57);sa$;LEFT$(" ",(18-LEN(sa$))) 1370 NEXT p 1380 RETURN 1390 OPEN "R",2,"M:RECOSUB2.DAT" 1400 FIELD 2,26 AS nom2$,6 AS sub2$,16 AS pun2$ 1410 y$="":FOR q=1 TO 8:y$=y$+CHR$(48)+CHR$(125):NEXT q 1420 FOR q=1 TO 10 1430 GET 2,q 1440 nom2a$=nom2$:IF ASC(nom2$)=0 THEN nom2a$="./././././././././././././" 1450 sub2a$=sub2$:IF ASC(sub2$)=0 THEN sub2a$=LEFT$(y$,6) 1460 pun2a$=pun2$:IF ASC(pun2$)=0 THEN pun2a$=y$ 1470 IF pun2$>re$ THEN re$=pun2$ 1480 IF pun2$0 THEN GOSUB 3430:punj=0 2100 GOSUB 3340 2110 GOSUB 3520 2120 GOSUB 3810 2130 m1=INT (RND*16)+2:m2=INT (RND*79)+3 2140 IF MID$(ma$(m1),m2,2)<>MID$(pue$,3,2) THEN GOTO 2130 2150 f1=INT (RND*16)+2:f2=INT (RND*79)+3 2160 IF MID$(ma$(f1),f2,2)<>MID$(pue$,3,2) OR (m1=f1 AND m2=f2) THEN GOTO 2150 2170 t1=f1:t2=f2 2180 comi=1:sy=1:pes=0:fl3=0:hj=0:buc=0:rod=0:mar=0:yt=0:cper=0:io$=CHR$(136)+CHR$(137):lr$=CHR$(152)+CHR$(153) 2190 MID$(ma$(m1),m2,2)=" " 2200 GOSUB 5270 2210 bz=0:FOR q=1 TO 52 2220 bz=bz+1:IF bz>5 THEN az$=MID$(ma$(f1),f2,2):q$=MID$(ma$(m1),m2,2) ELSE q$=MID$(io$,sy,2):az$=lr$ 2230 IF bz=10 THEN bz=0 2240 PRINT FN at$(m1+1,m2+2);q$;FN at$(f1+1,f2+2);az$ 2250 NEXT q 2260 dz$="--" 2270 yt=yt+1:IF yt<2 THEN GOTO 2510 2280 IF pes=1 THEN cper=cper+1:IF cper=20 THEN pes=0:cper=0 2290 yt=0 2300 t1=f1:t2=f2 2310 IF rod<>0 THEN IF buc=0 THEN mar=INT (RND*8)+5 2320 IF rod<>0 THEN GOTO 2380 2330 IF pes=1 THEN jx=-1:jz=-2 ELSE jx=1:jz=2 2340 IF m1>f1 THEN f1=f1+jx 2350 IF m1f2 THEN f2=f2+jz 2380 IF rod<>0 THEN buc=buc+1:IF buc=mar THEN buc=0:rod=0:GOTO 2330 2390 IF rod=1 THEN f2=f2+bs 2400 IF rod=2 THEN f1=f1+bs 2410 IF f1=18 THEN f1=17:hj=1 2420 q$=MID$(ma$(t1),f2,2):IF q$<>MID$(pue$,3,2) AND q$<>" " AND q$<>cz$ THEN f2=t2:hj=2:IF rod<>0 THEN hj=0:buc=0:rod=0:GOTO 2330 2430 q$=MID$(ma$(f1),t2,2):IF q$<>MID$(pue$,3,2) AND q$<>" " AND q$<>cz$ THEN f1=t1:hj=1:IF rod<>0 THEN hj=0:buc=0:rod=0:GOTO 2330 2440 q$=MID$(ma$(f1),f2,2):IF q$<>MID$(pue$,3,2) AND q$<>" " AND q$<>cz$ THEN f1=t1:f2=t2:hj=INT (RND*2)+1:IF rod<>0 THEN hj=0:buc=0:rod=0:GOTO 2330 2450 IF f1=t1 AND f2=t2 AND hj=1 THEN hj=0:rod=1:IF INT(RND*2)=1 THEN bs=-2 ELSE bs=2 2460 IF f1=t1 AND f2=t2 AND hj=2 THEN hj=0:rod=2:IF INT(RND*2)=1 THEN bs=-1 ELSE bs=1 2470 v$=CHR$(152)+CHR$(153):IF pes=1 THEN lr$=inverse1$+v$+inverse0$ ELSE lr$=v$ 2480 IF t1<>f1 OR t2<>f2 THEN PRINT FN at$(t1+1,t2+2);MID$(ma$(t1),t2,2);FN at$(f1+1,f2+2);lr$ 2490 IF pes=0 AND f1=m1 AND f2=m2 THEN GOTO 5080 2500 IF pes=1 AND f1=m1 AND f2=m2 THEN GOTO 5140 2510 az$=INKEY$ 2520 IF az$<>"" THEN dz$=az$ 2530 IF dz$="--" THEN GOTO 2270 2540 IF az$=d5$ AND po>0 THEN GOTO 4990 2550 q1=m1:q2=m2 2560 IF dz$=d1$ THEN m2=m2+2:GOTO 2610 2570 IF dz$=d2$ THEN m2=m2-2:GOTO 2610 2580 IF dz$=d3$ THEN m1=m1-1:GOTO 2610 2590 IF dz$=d4$ THEN m1=m1+1:GOTO 2610 2600 GOTO 2270 2610 ob=ASC(MID$(ma$(m1),m2,1)) 2620 IF ob=154 THEN comi=comi+1:OUT (248),11:OUT (248),12:MID$(ma$(m1),m2,2)=" ":GOTO 2710 2630 IF ob=32 THEN GOTO 2710 2640 IF ob>187 AND ob<196 THEN coq=2:GOTO 2710 2650 IF ob>195 AND ob<204 THEN coq=3:GOTO 2710 2660 IF ob>209 AND ob<218 THEN coq=5:GOTO 2710 2670 IF ob=156 OR ob=157 THEN coq=1:GOTO 2710 2680 IF ob>217 AND ob<226 THEN coq=6:GOTO 2710 2690 IF ob>203 AND ob<210 THEN coq=4:GOTO 2710 2700 m1=q1:m2=q2:GOTO 2270 2710 IF az$="" THEN GOTO 2760 2720 IF dz$=d1$ THEN io$=CHR$(136)+CHR$(137)+CHR$(144)+CHR$(145) 2730 IF dz$=d2$ THEN io$=CHR$(138)+CHR$(139)+CHR$(146)+CHR$(147) 2740 IF dz$=d3$ THEN io$=CHR$(140)+CHR$(141)+CHR$(148)+CHR$(149) 2750 IF dz$=d4$ THEN io$=CHR$(142)+CHR$(143)+CHR$(150)+CHR$(151) 2760 PRINT FN at$(q1+1,q2+2);" ";FN at$(m1+1,m2+2);MID$(io$,sy,2) 2770 IF comi=orq AND fl3=0 THEN q$=SPACE$(8):MID$(ma$(18),trj,8)=q$:PRINT FN at$(19,trj+2);q$:fl3=1 2780 IF pes=0 AND f1=m1 AND f2=m2 THEN GOTO 5080 2790 IF pes=1 AND f1=m1 AND f2=m2 THEN GOTO 5140 2800 IF m1=18 THEN GOTO 4940 2810 IF sy=1 THEN sy=3 ELSE sy=1 2820 IF ob<155 THEN GOTO 2270 2830 ON coq GOTO 3820,3920,4760,4810,4860,4900 2840 GOTO 2270 2850 PRINT vj$:PRINT cls$:PRINT vn$:RETURN 2860 IF sub=1 THEN PRINT vm$:PRINT cls$:PRINT vn$ 2870 PRINT FN at$(24,8);"PpUuNnTtOoSs" 2880 PRINT FN at$(27,8);"RrEeCcOoRrDd" 2890 PRINT FN at$(24,42);"SsUuBbNnIiVvEeLl" 2900 PRINT FN at$(27,42);"PpOoCcIiOoNnEeSs" 2910 PRINT FN at$(24,70);"*+VvIiDdAaSs*+" 2920 z$="":FOR q=1 TO 10:z$=z$+CHR$(158)+CHR$(159):NEXT q 2930 PRINT FN at$(23,20);z$ 2940 PRINT FN at$(25,20);z$ 2950 PRINT FN at$(26,20);z$ 2960 PRINT FN at$(28,20);z$ 2970 PRINT FN at$(24,20);LEFT$(z$,2) 2980 PRINT FN at$(24,38);LEFT$(z$,2) 2990 PRINT FN at$(27,20);LEFT$(z$,2) 3000 PRINT FN at$(27,38);LEFT$(z$,2) 3010 PRINT FN at$(23,58);LEFT$(z$,10) 3020 PRINT FN at$(25,58);LEFT$(z$,10) 3030 PRINT FN at$(26,58);LEFT$(z$,10) 3040 PRINT FN at$(28,58);LEFT$(z$,10) 3050 PRINT FN at$(24,58);LEFT$(z$,2) 3060 PRINT FN at$(24,66);LEFT$(z$,2) 3070 PRINT FN at$(27,58);LEFT$(z$,2) 3080 PRINT FN at$(27,66);LEFT$(z$,2) 3090 PRINT FN at$(25,70);LEFT$(z$,14) 3100 PRINT FN at$(27,70);LEFT$(z$,14) 3110 PRINT FN at$(26,70);LEFT$(z$,2) 3120 PRINT FN at$(26,82);LEFT$(z$,2) 3130 RETURN 3140 p$=STR$(da1) 3150 q$="" 3160 FOR t=2 TO LEN(p$) 3170 u$=MID$(p$,t,1) 3180 q$=q$+u$+CHR$(ASC(u$)+77) 3190 NEXT t 3200 RETURN 3210 asq=da1-(LEN(q$)/2) 3220 q$=LEFT$(c$,asq*2)+q$:RETURN 3230 da1=pun:GOSUB 3140:da1=8:GOSUB 3210:PRINT FN at$(24,22);q$ 3240 PRINT FN at$(27,22);re$ 3250 da1=sub:GOSUB 3140:da1=3:GOSUB 3210:PRINT FN at$(24,60);q$ 3260 da1=po:GOSUB 3140:da1=3:GOSUB 3210:PRINT FN at$(27,60);q$ 3270 viau=vi:FOR q=1 TO 5 3280 IF viau>0 THEN q$=CHR$(136)+CHR$(137) ELSE q$=" " 3290 PRINT FN at$(26,70+q*2);q$ 3300 viau=viau-1 3310 NEXT q 3320 RETURN 3330 FOR q=2 TO 19:PRINT FN at$(q,3);cot$:NEXT q:RETURN 3340 PRINT FN at$(12,28);LEFT$(cot2$,36) 3350 PRINT FN at$(17,28);LEFT$(cot2$,36) 3360 FOR q=13 TO 16 3370 PRINT FN at$(q,28);LEFT$(cot2$,2);SPACE$(32);LEFT$(cot2$,2) 3380 NEXT q 3390 da1=sub:GOSUB 3140:da1=3:GOSUB 3210 3400 PRINT FN at$(14,32);"PpRrEePpAaRrAaTtEe PpAaRrAa" 3410 PRINT FN at$(15,31);"EeLl SsUuBbNnIiVvEeLl ";q$ 3420 RETURN 3430 PRINT FN at$(4,28);LEFT$(cot2$,36) 3440 PRINT FN at$(9,28);LEFT$(cot2$,36) 3450 FOR q=5 TO 8 3460 PRINT FN at$(q,28);LEFT$(cot2$,2);SPACE$(32);LEFT$(cot2$,2) 3470 NEXT q 3480 da1=punj:GOSUB 3140 3490 PRINT FN at$(6,32);"HhAaSs CcOoNnSsEeGgUuIiDdOo" 3500 PRINT FN at$(7,32);q$;" PpUuNnTtOoSs" 3510 RETURN 3520 orq=640:ma$(1)=cot2$:ma$(18)=cot2$ 3530 FOR q=2 TO 17:ma$(q)=pue$:NEXT q 3540 trj=INT (RND*73)+3:MID$(ma$(18),trj,8)=CHR$(162)+CHR$(163)+CHR$(164)+CHR$(164)+CHR$(164)+CHR$(164)+CHR$(165)+CHR$(166) 3550 ok2=INT(RND*5)+8 3560 FOR q=1 TO ok2 3570 l=INT (RND*5)+1:l=l*3:c=INT (RND*66)+2 3580 IF MID$(ma$(l),c,16)<>MID$(pue$,3,16) THEN GOTO 3570 3590 ok=INT(RND*10)+1 3600 u$="":FOR w=1 TO 8 3610 u$=u$+CHR$(165+(ok*2))+CHR$(166+(ok*2)) 3620 NEXT w 3630 MID$(ma$(l),c,16)=u$ 3640 MID$(ma$(l+1),c,16)=u$ 3650 NEXT q 3660 orq=orq-(ok2*16) 3670 da1=INT (RND*7)+8:q$=CHR$(188)+CHR$(189)+CHR$(190)+CHR$(191):a$=CHR$(192)+CHR$(193)+CHR$(194)+CHR$(195):GOSUB 5350:orq=orq-(da1*4) 3680 da1=INT (RND*2)+1:q$=CHR$(196)+CHR$(197)+CHR$(198)+CHR$(199):a$=CHR$(200)+CHR$(201)+CHR$(202)+CHR$(203):GOSUB 5350:orq=orq-(da1*4) 3690 da1=INT (RND*3)+2:q$=CHR$(210)+CHR$(211)+CHR$(212)+CHR$(213):a$=CHR$(214)+CHR$(215)+CHR$(216)+CHR$(217):GOSUB 5350:orq=orq-(da1*4) 3700 q=INT (RND*4)+1:IF q<>1 THEN GOTO 3720 3710 da1=1:q$=CHR$(204)+CHR$(136)+CHR$(137)+CHR$(205):a$=CHR$(206)+CHR$(207)+CHR$(208)+CHR$(209):GOSUB 5350:orq=orq-4 3720 q=INT (RND*15)+1:IF q<>1 THEN GOTO 3740 3730 da1=1:q$=CHR$(218)+CHR$(219)+CHR$(220)+CHR$(221):a$=CHR$(222)+CHR$(223)+CHR$(224)+CHR$(225):GOSUB 5350:orq=orq-4 3740 FOR q=1 TO 2 3750 l=INT (RND*5)+1:l=l*3:c=INT (RND*80)+2 3760 IF MID$(ma$(l),c,2)<>MID$(pue$,3,2) THEN GOTO 3750 3770 MID$(ma$(l),c,2)=CHR$(156)+CHR$(157) 3780 NEXT q 3790 orq=orq-2 3800 RETURN 3810 FOR q=1 TO 18:PRINT FN at$(q+1,3);ma$(q):NEXT q:RETURN 3820 pes=1:punj=punj+500:MID$(ma$(m1),m2,2)=" ":GOTO 2270 3830 FOR e=1 TO 3 3840 FOR q=136 TO 142 STEP 2 3850 FOR s=1 TO 5 3860 PRINT FN at$(m1+1,m2+2);CHR$(q);CHR$(q+1) 3870 NEXT s 3880 NEXT q 3890 NEXT e 3900 dz$="--" 3910 RETURN 3920 GOSUB 3830 3930 GOSUB 3980 3940 IF vi=0 THEN GOTO 4170 3950 vi=vi-1 3960 GOSUB 3270 3970 GOTO 2200 3980 ph1=m1:ph2=m2 3990 IF coq=2 THEN mn$=CHR$(188) 4000 IF coq=3 THEN mn$=CHR$(196) 4010 IF coq=4 THEN mn$=CHR$(204) 4020 IF coq=5 THEN mn$=CHR$(210) 4030 IF coq=6 THEN mn$=CHR$(218) 4040 IF MID$(ma$(ph1),ph2,1)=mn$ THEN GOTO 4100 4050 ph2=ph2-2 4060 IF MID$(ma$(ph1),ph2,1)=mn$ THEN GOTO 4100 4070 ph1=ph1-1 4080 IF MID$(ma$(ph1),ph2,1)=mn$ THEN GOTO 4100 4090 ph2=ph2+2 4100 q$=" " 4110 PRINT FN at$(ph1+1,ph2+2);q$ 4120 PRINT FN at$(ph1+2,ph2+2);q$ 4130 MID$(ma$(ph1),ph2,4)=q$ 4140 MID$(ma$(ph1+1),ph2,4)=q$ 4150 PRINT FN at$(m1+1,m2+2);MID$(io$,sy,2) 4160 RETURN 4170 punj=punj+(comi*10)+(po*41):pun=pun+punj:GOSUB 3230 4180 q$=inverse1$+"*+*+*+ GgAaMmEe OoVvEeRr *+*+*+"+inverse0$ 4190 FOR q=2 TO 9 4200 PRINT FN at$(21-q,30);MID$(ma$(20-q),28,34);FN at$(20-q,30);q$ 4210 PRINT FN at$(q,30);MID$(ma$(q-1),28,34);FN at$(q+1,30);q$ 4220 NEXT q 4230 PRINT FN at$(21-q,30);MID$(ma$(20-q),28,34) 4240 sy=1:fr=12 4250 FOR q=1 TO 150 4260 IF sy>fr/2 THEN PRINT FN at$(10,30);q$ 4270 IF sy<(fr/2)+1 THEN PRINT FN at$(10,30);MID$(ma$(9),28,34) 4280 sy=sy+1:IF sy=fr THEN sy=0 4290 NEXT q 4300 da1=pun:GOSUB 3140:da1=8:GOSUB 3210:IF q$<=re2$ THEN GOTO 590 4310 FOR q=1 TO 10:a$=INKEY$:NEXT q 4320 PRINT vj$:PRINT cls$:PRINT vn$ 4330 fl6=1:GOSUB 590:fl6=0 4340 PRINT FN at$(7,28);"*+*+ EeNnHhOoRrAaBbUuEeNnAa *+*+" 4350 PRINT FN at$(9,21);"HhAaSs CcOoNnSsEeGgUuIiDdOo UuNn RrEeCcOoRrDd" 4360 PRINT FN at$(11,25);"IiNnTtRrOoDdUuCcEe TtUu NnOoMmBbRrEe:;" 4370 PRINT FN at$(16,32);:FOR q=1 TO 13:PRINT CHR$(95);CHR$(96);:NEXT q:PRINT 4380 PRINT FN at$(18,30);q$;" PpUuNnTtOoSs" 4390 pas=32:sy=0:per=20:lq=1:cad$=SPACE$(26) 4400 IF sy>(per/2) THEN io$="*+" 4410 IF sy<(per/2)+1 THEN io$=" " 4420 PRINT FN at$(15,pas);io$ 4430 sy=sy+1:IF sy=per THEN sy=0 4440 a$=INKEY$:IF a$="" THEN GOTO 4400 4450 IF ASC(a$)=127 AND pas>32 THEN PRINT FN at$(15,pas);" ":pas=pas-2:lq=lq-2:MID$(cad$,lq,2)=" ":GOTO 4400 4460 x=ASC(a$) 4470 IF x=13 THEN GOTO 4580 4480 IF x=32 OR (x>47 AND x<58) OR (x>96 AND x<123) OR x=124 THEN GOTO 4500 4490 GOTO 4400 4500 IF (x>96 AND x<123) OR x=124 THEN a$=CHR$(x-32) 4510 q$=a$:GOSUB 5430 4520 PRINT FN at$(15,pas);q$ 4530 MID$(cad$,lq,2)=q$ 4540 lq=lq+2 4550 pas=pas+2 4560 IF lq=27 THEN GOTO 4580 4570 GOTO 4400 4580 da1=sub:GOSUB 3140:da1=3:GOSUB 3210:su7$=q$ 4590 da1=pun:GOSUB 3140:da1=8:GOSUB 3210:pu7$=q$ 4600 OPEN "R",2,"M:RECOSUB2.DAT" 4610 FIELD 2,26 AS nom2$,6 AS sub2$,16 AS pun2$ 4620 LSET nom2$=cad$ 4630 LSET sub2$=su7$ 4640 LSET pun2$=pu7$ 4650 PUT 2,10 4660 FOR w=1 TO 10 4670 FOR q=1 TO 9 4680 GET 2,q 4690 pu4$=pun2$:su4$=sub2$:no4$=nom2$ 4700 GET 2,q+1:IF pun2$>pu4$ THEN PUT 2,q:LSET nom2$=no4$:LSET pun2$=pu4$:LSET sub2$=su4$::PUT 2,q+1 4710 NEXT q 4720 NEXT w 4730 CLOSE 2 4740 GOSUB 860 4750 GOTO 1930 4760 po=po+1 4770 GOSUB 3260 4780 GOSUB 3980 4790 punj=punj+1000 4800 GOTO 2270 4810 vi=vi+1:IF vi>5 THEN vi=5 4820 GOSUB 3260 4830 GOSUB 3980 4840 punj=punj+5000 4850 GOTO 2270 4860 po=0 4870 GOSUB 3260 4880 GOSUB 3980 4890 GOTO 2270 4900 q$=SPACE$(8):MID$(ma$(18),trj,8)=q$:PRINT FN at$(19,trj+2);q$:fl3=1 4910 GOSUB 3980 4920 punj=punj+10000 4930 GOTO 2270 4940 punj=punj+(sub*300)+(po*41)+(vi*103) 4950 sub=sub+1 4960 punj=punj+(comi*10) 4970 pun=pun+punj 4980 GOTO 2050 4990 PRINT FN at$(m1+1,m2+2);" " 5000 po=po-1:GOSUB 3260 5010 m1=INT (RND*16)+2:m2=INT (RND*79)+3 5020 q$=MID$(ma$(m1),m2,2) 5030 IF (m2/2=INT (m2/2)) OR (q$<>MID$(pue$,3,2) AND q$<>" ") OR (m1=f1 AND m2=f2) THEN GOTO 5010 5040 MID$(ma$(m1),m2,2)=" " 5050 IF q$=MID$(pue$,3,2) THEN comi=comi+1 5060 PRINT FN at$(m1+1,m2+2);MID$(io$,sy,2) 5070 GOTO 2270 5080 GOSUB 3830 5090 f1=INT (RND*16)+2:f2=INT (RND*79)+3 5100 q$=MID$(ma$(f1),f2,2) 5110 IF (f2/2=INT (f2/2)) OR (q$<>MID$(pue$,3,2) AND q$<>" ") OR (m1=f1 AND m2=f2) THEN GOTO 5090 5120 t1=f1:t2=f2 5130 GOTO 3940 5140 f1=INT (RND*16)+2:f2=INT (RND*79)+3 5150 q$=MID$(ma$(f1),f2,2) 5160 IF (f2/2=INT (f2/2)) OR (q$<>MID$(pue$,3,2) AND q$<>" ") OR (m1=f1 AND m2=f2) THEN GOTO 5140 5170 t1=f1:t2=f2 5180 pes=0:punj=punj+2000 5190 PRINT FN at$(m1+1,m2+2);MID$(io$,sy,2) 5200 sfy=1:fr=8 5210 FOR q=1 TO 28 5220 IF sfy>fr/2 THEN PRINT FN at$(m1+1,m2+1);CHR$(204);FN at$(m1+1,m2+4);CHR$(205) 5230 IF sfy<(fr/2)+1 THEN PRINT FN at$(m1+1,m2+1);MID$(ma$(m1),m2-1,1);FN at$(m1+1,m2+4);MID$(ma$(m1),m2+2,1) 5240 sfy=sfy+1:IF sfy=fr THEN sfy=0 5250 NEXT q 5260 GOTO 2270 5270 q$="*+ RrEeAaDdYy *+" 5280 cy=1:fr=12 5290 FOR q=1 TO 40 5300 IF cy>fr/2 THEN PRINT FN at$(10,34);q$ 5310 IF cy<(fr/2)+1 THEN PRINT FN at$(10,34);MID$(ma$(9),32,18) 5320 cy=cy+1:IF cy=fr THEN cy=0 5330 NEXT q 5340 RETURN 5350 FOR q=1 TO da1 5360 l=INT (RND*5)+1:l=l*3:c=INT (RND*78)+2 5370 IF MID$(ma$(l),c,4)<>MID$(pue$,3,4) THEN GOTO 5360 5380 MID$(ma$(l),c,4)=q$ 5390 MID$(ma$(l+1),c,4)=a$ 5400 NEXT q 5410 RETURN 5420 STOP 5430 w$="" 5440 FOR w=1 TO LEN(q$) 5450 e$=MID$(q$,w,1) 5460 ad=ASC(e$) 5470 IF (ASC(e$)>64 AND ASC(e$)<93) OR ASC(e$)=92 THEN ad=ASC(e$)+32 5480 IF ASC(e$)>47 AND ASC(e$)<58 THEN ad=ASC(e$)+77 5490 IF ASC(e$)=42 OR ASC(e$)=46 OR ASC(e$)=58 OR ASC(e$)=95 OR ASC(e$)=44 THEN ad=ASC(e$)+1 5500 w$=w$+e$+CHR$(ad) 5510 NEXT w 5520 q$=w$ 5530 RETURN 5540 FOR q=1 TO 18:PRINT ma$(q):NEXT q:RETURN 5550 STOP 5560 CLEAR:SAVE "SUB2" ===== Controls ===== Q = UP A = DOWN P = RIGHT O = LEFT SPACE = USE POTION ===== Loading the program ===== 1.- Insert the CP/M disc on side 2 2.- Write BASIC and wait for it to load 3.- Remove the CP/M disk and insert the disk containing the Sublevel game 4.- Type run "Sub" and press the "ENTER" key ===== Extras ===== The game came in the disc magazine, PCW User number 3 side B. ===== Download ===== * {{:otros:Sublevel (Basic).zip|Sublevel }}(game in dsk format, compressed with zip) ===== Links ===== * [[http://www.ooparts-universe.com/prgs/index_esp.html|Official website of Jorge PĂ©rez Barreiro]]