TREASURE OF THE ANCIENTS
by Bob Cockroft
by Bob Cockroft
The sun shone brightly as you reached the rocky crest of a ridge that protruded ominously from the valley floor. Peering into the gully ahead, you realized you had arrived. The destination of months of travel and the final resting place of the treasure of the ancients lay before you. Although only a small crack in the earth was seen, you realized it was the entrance to a labyrinth of unprecedented proportions. Down some dark passage existed the fabled treasure, the last remnant of a long dead civilization.
With renewed energy, you confidently made your way down the rocky slope. The pungent fumes from the sulfur pods spiraled upward, making the air a hot humid soup. As the rocky opening drew closer, you checked your equipment. You were armed with three weapons: dagger, long sword, and short sword. Although all three weapons are useful, they have their own special characteristics. The dagger, being the fastest and more accurate weapon, is most effective against faster moving creatures. Despite its speed, this weapon lacks the damage inflicting power of the other weapons. In contrast, the long sword, being large and clumsy, lacks the speed of a dagger, but inflicts the most damage. The short sword is a compromise between the two other weapons. It lacks the power and clumsiness of the long sword, and the speed and ineffectiveness of a dagger.
Against more powerful creatures it is sometimes best to be defensive, and to hope the monster loses interest and wanders away. Creatures will find it more difficult inflicting damage when you are defending yourself. In more desperate situations, even running away could be a viable option.
The dungeon is quite complex and full of surprises. The maze contains many tunnels and rooms of varying importance. There are traps and invisible forces that block your progress. Secret doors lead to many hidden passages and chambers. Although finding the treasure of the ancients is the goal of this adventure, gold can be found everywhere. Chambers and rooms can have great amounts of treasure, particularly in the deeper sections of the dungeon. In order to keep track of what treasure you have found, press s `I' to see the inventory.
At the beginning of the game your character is given a rating in strength, dexterity, health, and speed. Strength determines how much damage you inflict on your opponent. Dexterity is used in calculating the probability of hitting. Health determines how quickly you heal your wounds. And hit points represent the amount of damage you can withstand.
Treasure of the Ancients is the second in a series of graphic adventure games in BASIC. Because of the slow speed of this language, I designed the screens so they could be drawn in the least possible time. As a result, many of the displays lack detail.
10 DIM DG(25,25),DD$(20),SD$(10),WD$(10),ED$(10),EN$(25),C$(10),REDG$(10),BLUEG$(10),GOLDG$(10)
20 XP=13:YP=24
30 XC=XP:YC=YP
40 GRAPHICS 1:COLOR 1:SETCOLOR 2,16,1:POSITION 9,3:? #6;"treasure"
42 POSITION 7,5:? #6; "treasure"
44 POSXT=ON 3,7:? #6; "OF THE ANCIENTS"
50 POKE 755,0
60 ? " loading dungeon"
70 FOR Y=1 TO 25:FOR X=1 TO 25:READ D:DG(X,Y)=D:NEXT X:NEXT Y
90 IF DG(XC,YC)=0.4 THEN DD$="Siiver lines path":GOTO 910
100 PSTR=INT(RND(0)*6)+1+INT(RND(0)*6)+1+INT(RND(0)*6)+1
110 PDEX=INT(RND(0)*6)+1+INT(RND(0)*6)+1+INT(RND(0)*6)+1
120 PSP=INT(RND(0)*6)+1+INT(RND(0)*6)+1+INT(RND(0)*6)+1
130 PHP=INT(RND(0)*6)+1+INT(RND(0)*6)+1+INT(RND(0)*6)+1
140 PCO=INT(RND(0)*6)+1+INT(RND(0)*6)+INT(RND(0)*6)+1
150 IF PHP<6 THEN PHP=5
160 REDG$=" ":BLUEG$+" ":GOLDG$=" "
170 GRAPHICS 0
180 POKE 755,0
190 ? :? " PLAYER'S CHARACTERISTICS"
200 ? :?
210 ? " STRENGTH: ";PSTR
220 ? " DEXTERITY: ";PDEX
230 ? " HEALTH: ";PCO
240 ? " SPEED: ";PSP
250 ? " HIT POINTS: ";PHP
260 ? :? :? " Press the SPACE BAR to continue"
270 POKE 53279,0
280 IF PEEK(764)<>33 THEN 280
290 REM MAIN LOOP
300 ST=STICK(0):XC=XP:YC=YP
310 POKE 753,0
320 IF DG(XC,YC)=1 TNEN DD$="Wall":GOTO 1410
330 IF DG(XC,YC)<1 THEN DD$="Tunnel":GOTO 910
340 IF DG(XC,YC)=10 THEN DD$="Door":GOTO 1450
350 IF DG(XC,YC)=0.7 THEN DD$="Gold hallway":GOTO 910
360 IF DG(XC,YC)=11 THEN DD$="Gold door":GOTO 1450
370 IF DG(XC,YC)=0.4 THEN DD$="Silver lines path":GOTO 910
380 IF DG(XC,YC)=2 THEN DD$="Silver wa11":GOTO 1440
390 IF DG(XC,YC)=40.5 THEN DD$="Small room":FP=INT(RND(0)*30+1:GOTO 1290
400 IF DG(XC,YC)=41 THEN DD$="Long Room":FP=INT(RND(0)*1125)+1:GOTO 1290
410 IF DG(XC,YC)=3 THEN DD$="Mosaic walls":GOTO 1458
420 IF DG(XC,YC)=23 THEN DD$="You have Found about 500 gps":FP=INT(RND(0)*1000)+1:GOTO 1290
430 IF DG(XC,YC)=43 THEN DD$="Misty Room":FP=INT(RND(0)*1000)+1:GOTO 1290
440 IF DG(XC,YC)=44 THEN DD$="Silent Room":FP=INT(RND(0)*200)+1:GOTO 1290
450 IF DG(XC,YC)=45 THEN DD$="ROOM of green hue":FP=INT(RND(0)*150)+1:CA=12:CB=6:GOTO 1290
460 IF DG(XC,YC)=46 THEN DD$="Dark room":FP=INT(RND(0)*1250)+1:CA=10:CB=1:GOTO 1290
470 IF DG(XC,YC)=47 THEN DD$="Bright room":FP=INT(RND(0)*80)+1:CA=2:CB=9:GOTO 1290
480 IF DG(XC,YC)=48 THEN DD$="Windy room":FP=INT(RND(0)*110)+1:CA=5:CB=5:GOTO 1290
490 IF DG(XC,Yc)=49 THEN DD$="Room of Armour":FP=INT(RND(0)*580)+1:CA=12:CB=6:GOTO 1290
500 IF DG(XC,YC)=49.2 THEN DD$="Room of Brass":FP=INT(RND(0)*500)+1:CA=4:CB=6:GOTO 1290
510 IF DG(XC,YC)=49.3 THEN DD$="ROOM Of Copper":FP=INT(RND(0)*1000)+1:CA=15:CB=4:GOTO 1290
520 IF DG(XC,YC)=49.4 THEN DDS="Room of Silver":FP=INT(RND(0)*1750)+1:CA=16:CB=6:GOTO 1290
530 IF DG(XC,YC)=49.5 THEN DDS="Room of Gold":FP=INT(RND(0)*2750)+1:CA=3:CB=6:GOTO 1290
540 IF DG(XC,YC)=49.6 THEN DD$="Room of Platinim":FP=INT(RND(0)*4000)+1:CA=9:CB=9:GOTO 1290
550 IF DG(XC,YC)=80 THEN FP=INT(RND(0)*5000)+1:DD$="Red gem room":CA=5:CB=1:GOTO 1120
560 IF DG(XC,YC)=82 THEN FP=INT(RND(0)*6000)+1:DD$="Blue gem room":CA=9:CB=1:GOTO 1120
570 IF DG(XC,YC)=84 THEN FP=INT(RND(0)*7000)+1:DD$="Gold gem room":CA=2:CB=1:GOTO 1120
580 IF DG(XC,YC)=86 THEN FP=INT(RND(0)*8000)+1:DD$="TREASURE OF THE ANCIENTS":GOTO 750
590 REM *
600 REM * LEFT SIDE *
610 IF DG(XC-1,YC)<1 THEN 1010
620 IF DG(XC-1,YC)>9.9 AND DG(XC-1,YC)<20 THEN 1010
630 IF DG(XC-1,YC)=0.4 THEN 1010
640 IF DG(XC-1,YC)=0.7 THEN 1010
650 REM *
660 REM * RIGHT SIDE *
670 IF DG(XC+1,YC)<1 THEN 1060
680 IF DG(XC+1,YC)>9.9 AND DG(XC+1,YC)<20 THEN 1060
690 IF DG(XC+1,YC)=0.4 THEN 1060
700 IF DG(XC+1,YC)=0.7 THEN 1060
710 GOTO 1500
720 REM MOVEMENT SECTION
730 REM *
740 REM * WHITE GEM ROOM *
750 GRAPHICS 8:COLOR 1:SETCOLOR 2,24,15
760 POKE 755,0
770 PLOT 1,1:DRAWTO 40,40:DRAWTO 280,40:DRAWTO 319,1
780 PLOT 40,40:DRAWTO 48,120:DRAWTO 280,120:DRAWTO 280,40
790 COLOR 0PLOT 154,120:DRAWTO 163,120:COLOR 1
800 PLOT 40,120:DRAWTO 1,150:PLOT 280,120:DRAWTO 319,150
810 POKE 755,1
820 PLOT 145,145:DRAWTO 158,152:DRAWTO 170,145:DRAWTO 160,110:DRAWTO 156,110:DRAWTO 145,145
830 PLOT 158,152:DRAWTO 158,110:PLOT 156,110:DRAWTO 156,105:DRAWTO 160,105:DRAWTO 160,110
840 PLOT 156,110:DRAWTO 160,105:PLOT 160,110:DRAWTO 156,105
850 PLOT 158,105:DRAWTO 158,96:PLOT 160,103:DRAWTO 160,98:PLOT 162,101:DRAWTO 162,100
860 PLOT 156,183:DRAWTO 156,98:PLOT 154,101:DRAWTO 154,101:DRAWTO 154,100
870 ? " THE WHITE GEM (YOU win)"
880 GOTO 880
890 REM *
900 REM * FLOOR PICTURE *
910 GRAPHICS 8:COLOR 1:SETCOLOR 2,16,1:POKE 755,0
920 PLOT 1,1:DRAWTO 130,55:DRAWTO 280,55:DRAWTO 319,1
930 PLOT 130,100:DRAWTO 1,150:PLOT 200,100:DRAWTO 319,150
940 PLOT 138,55:DRAWTO 130,100:DRAWTO 200,100:DRAWTO 200,55
950 PLOT 130,55:DRAWTO 142,60:PLOT 200,55:DRAWTO 195,57:PLOT 130,100:DRAWTO 145,94:PLOT 200,100:DRAWTO 190,94
960 PLOT 65,28:DRAWTO 260,28:DRAF:TO 260,126:DRAWTO 65,126:DRAWTO 65,28
970 ? " ";DDS
980 GOTO 610
990 REM *
1000 REM * WAY TO THE LEFT *
1010 PLOT 60,129:DRAWTO 60,45:DRAWTO 28,33:DRAWTO 28,138
1820 PLOT 60,45:DRAWTO 26,45:PLOT 60,128:DRAWTO 28,128
1030 GOTO 670
1040 REM *
1050 REM * WAY TO THE RIGHT
1060 PLOT 270,129:DRAWTO 270,45:DRAWTO 302,33:DRAWTO 302,142
1070 PLOT 270,45:DRAWTO 302,45:PLOT 302,128:DRAWTO 270,128
1080 GOTO 1500
1090 REM *
1100 REM * GEM ROOMS *
1110 REM *
1120 GRAPHICS 8:SETCOLOR 2,CA,CB:POKE 755,0
1130 PLOT 1,1:DRAWTO 40,40:DRAWTO 280,40:DRAWTO 319,1
1140 PLOT 40,40:DRAWTO 40,120:DRAWTO 280,120:DRAWTO 280,40
1150 COLOR 0:PLOT 146,120:DRAWTO 169,120:COLOR 1
1160 PLOT 40,120:DRAWTO 1,150:PLOT 280,120:DRAWTO 319,150
1170 POKE 755,1
1180 PLOT 135,145:DRAWTO 158,155:DRAWTO 180,145:DRAWTO 168,115:DRAWTO 158,120:DRAWTO 148,114:DRAWTO 135,145
1190 PLOT 158,120:DRAWTO 158,155
1200 PLOT 158,116:DRAWTO 153,114:DRAWTO 156,110:DRAWTO 158,110:DRAWTO 158,116:DRAWTO 163,114
1210 DRAWTO 161,110:DRAWTO 158,110:PL0T 149,114:DRAWTO 158,111:PLOT 167,114:DRAWTO 158,111
1220 PLOT 158,110:DRAWTO 158,105:PLOT 159,110:DRAWTO 159,106:PLOT 160,110:DRAWTO 160,107
1230 PLOT 161,108:DRAWTO 161,109
1240 PLOT 157,110:DRAWTO 157,106:DRAWTO 156,110:DRAWTO 156,107:DRAWTO 155,110:DRAWTO 155,108
1245 GP=GP+FP
1250 ? DD$;" ";FP;" gold pieces"
1260 IF DG(XC,YC)=86 THEN END
1265 GOTO 1500
1270 REM *
1280 REM * ROOM *
1290 GRAPHICS 8:SETCOLOR 2,CA,CB:PLOT 1,1:DRAWTO 65,28:DRAWTO 260,28:DRAWTO 319,1:POKE 755,0
1300 PLOT 65,126:DRAWTO 1,150:PLOT 260,126:DRAWTO 319,150
1310 PLOT 65,28:DRAWTO 65,126:DRAWTO 260,126:0RAWTO 260,28
1320 GP=GP+FP
l330 ? DD$;" ";FP;" gold pieces"
1340 GOTO 610
1350 REM *
1360 REM * FRONT DOOR *
1370 PLOT 148,126:DRAWTO 155,120:PLOT 148,52:DRAWTO 154,56:PLOT 190,52:DRAWTO 180,60:PLOT 190,126:DRAWTO 185,120
1380 GOTO 1580
1390 REM ae
1400 REM as WALL CLOSE UP as
1410 GRAPHICS B:SETCOLOR 2,16,1:FOR Y=1 TO 128 STEP XO:PLOT 1,V:DRAWTO 319,Y:NEXT V:POKE 755,0
1420 FOR K=1 TO 319 STEP 251PEOT X,1:DRAWTO X,118:NEXT X:? '-There is a wall in this direction"
1430 GOTO 1500
1440 REM *
1450 REM * DOOR CLOSE UP *
1460 GRAPHICS 8:SETCOLOR 2,16,1:PLOT 1,1:DRAWTO 319,1:DRAWTO 319,150:DRAWTO 1,150:DRAWTO 1,1:POKE 755,0
1470 PLOT 125,150:DRAWTO 125,40:DRAWTO 195,40:DRAWTO 195,150
1480 ? " ";DD$
1490 G0 TO 1500
1500 REM *
1510 REM * ENCOUNTER SECTION *
1520 PE=INT(RND(0)*10)+1
1530 IF PE<>1 THEN 1570
1540 GOTO 1680
1550 REM *
1560 REM * MOVEMENT SECTION *
1570 ST=STICK(0):IF ST=14 THEN IF DG(XP,YP-1)>3 OR DG(XP,YP-1)<0.99 THEN YP=YP-1:GOTO 300
1580 IF ST=14 AND DG(XP,YP-1)<4 AND DG(XP,YP-1)>0.99 THEN 1410
1590 IF ST=13 THEN IF DG(XP,YP+1)>3 OR DG(XP,YP+l)<0.99 THEN YP=YP+1:GOTO 300
1680 IF ST=13 AND DG(XP,YP+1)<4 AND DG(XP,YP+1)>0.99 THEN 1410
1610 IF ST=11 THEN IF DG(XP-1,YP)>3 OR DG(XP-1,YP)<0.99 THEN XP=XP-1:GOTO 300
1620 IF ST=11 AND DG(XP-1,YP)<4 AND DG(XP-1,YP)0.99 THEN 1410
1630 IF ST=7 THEN IF DG(XP+1,YP)>3 OR DG(XP+l,YP)<0.99 THEN XP=XP+1:GOTO 300
1640 IF PEEK(764)=13 THEN 2780
1650 GOTO 1570
1660 REM *
1670 REM * ENCOUNTER SECTION *
1680 TE=INT(RND(0)*90)+1
1690 B=INT(RND(0)*PCO)-11:IF B<0 THEN B=0
1700 HP=HP+1+B
1710 IF HP>PHP THEN HP=PHP
1720 ENFLAG=1
1730 IF TE<5 THEN EN$="GIANT RAT":HP=83:AC=1:DA=6:DE=12:SP=15:RU=2:GOTO 1920
1740 IF TE<6 THEN EN$="CAVE BEAR":HP=15:AC=3:DE=5:SP=5:RU=12:GOT0 1920
1750 IF TE<7 THEN EN$="BLACK BEAR":HP=7:AC=2:DE=6:SP=7:RU=5:GOTO 1920
1760 IF TE<9 THEN EN$="SMALL SNAKE":HP=3:AC=1:DE=9:SP=10:RU=7:GOTO 1920
1770 IF TE<12 THEN EN$="BANDIT":HP=7:AC=1:DE=7:SP=7:RU=5:GOTO 1920
1780 IF TE<14 THEN EN$="GIANT SCORPION":HP=5:AC=3:DA=6:CL=1:DE=8:SP=8:RU=4:GOTO 1920
1790 IF TE<17 THEN EN$="BERSERKER":HP=7:AC=0:DA=5:DE=5:SP=12:RU=100:GOT0 1920
1800 IF TE<20 THEN EN$="ZOMBIE":HP=10:AC=0:DA=5:DE=3:SP=4:RU=50:GOTO 1920
1810 IF TE<21 THEN EMS="GHOUL":HP=12:AC=5:DA=12:DE=10:SP=12:RU=10:GOTO 1920
1820 IF TE<23 THEN EN$="GOLEM":HP=15:AC=4:DA=10:DE=5:SP=4:RU=8:GOTO 1920
1830 IF TE<27 THEN EN$="GIANT BAT":HP=5:AC=1:DA=4:DE=12:SP=15:RU=2:GOTO 1920
1840 IF TE<30 THEN EN$="GIANT FROG":HP=8:AC=1:DA=3:DE=2:SP=8:RU=5:GOTO 1920
1850 IF TE<58 THEN EN$="RAT":HP=3:AC=1:DA=3:DE=7:SP=5:RU=4:GOTO 1920
1860 IF TE<60 THEN EN$="SKELETION":HP=10:AC=1:DA=6:CL=2:DE=11:SP=11:RU=6:GOTO 1920
1870 IF TE<65 THEN EN$="MUMMY":HP=12:AC=1:DA=4:CL=3:DE=5:SP=9:RU=8:GOTO 1920
1880 IF TE<70 THEN EN$="LIZARD MAN":HP=15:AC=3:DA=6:CL=4:DE=12:SP=12:RU=5:GOTO 1920
1890 IF TE<71 THEN EN$="WERE WOLF":HP=24:AC=3:DA=10:CL=5:DE=14:SP=17:RU=25:GOTO 1920
1988 IF TE<75 THEN EN$="ORGRE":HP=18:AC=1:DA=10:CL=6:DE=8:SP=9:RU=7:GOT0 1920
1918 IF TE<90 THEN EN$="ORC":HP=5:AC=2:DA=4:CL=7:DE=6:SP=6:RU=3:GOTO 1920
1920 GRAPHICS 0:? :? :? :? " You have encountered a ";EN$:POKE 755,0
1930 ? :? " Press SPACE BAR to continue":POKE 764,255
1940 IF PEEK(764)=33 THEN POKE 764,255:GOTO 1990
1950 GOTO 1940
1960 REM *
1970 REM * COMBAT SECTION *
1980 REM *
1990 GRAPHICS 8:? " Combat Options":POKE 755,0
2000 ? :? "What do you want to do?"
2010 ?
2020 ? " Attack with long sword (press L)"
2030 ? " Attack with Short sword (press S)"
2040 ? " Attack with dagger (press G)"
2050 ? :? " Defend (press D)"
2060 ? " Run (Press R)"
2070 ? " inventory (press I)"
2080 POKE 753,0
2090 POSITION 2,12:? " ":POSITION 2,13:? " ":POSITION 2,14:? " "
2100 POSITION 2,15:? " ":POSITION 2,16:? " "
2110 POSITION 2,18:? " ":POSITION 2,17:? " "
2120 POKE 764,255:POSITION 2,12:POKE 755,3:INPUT C$:POKE 755,0
2130 IF C$="L" THEN CD=16:CDE=-5:GOTO 2260
2140 IF C$="S" THEN CD=8:CDE=-2:GOTO 2260
2150 IF C$="G" THEN CD=4: CDE=2:GOTO 2260
2160 IF C$="D" THEN CDE=4:GOTO 2440
2170 IF C$="I" THEN IN=1:GOTO 2780
2180 IF C$="R" THEN CDE=-1:GOTO 2690
2190 POSITION 2,14:? "-Sorry, I did not understand"
2200 FOR X=1 TO 50:NEXT X
2210 C$=" "
2220 POSITION 2,14:? " ":GOTO 2090
2230 REM *
2240 REM * ATTACK SECTION *
2250 REM *
2260 PH=INT(RND(0)*20)+1
2270 PH=PH+(PDEX-11)+((DE*-1)+11)+CDE
2280 IF PH>12 THEN 2310
2290 ? "You Missed"
2300 GOTO 2500
2310 ? "you hit"
2320 DAMAGE=INT(RND(0)*CD)+1+INT(PSTR/2)-5
2330 HP=HP-DAMAGE
2340 IF HP<3 AND HP>0 THEN ? "The encounter is weak"
2350 IF HP>-1 THEN 2410
2360 ? "The encounter is dead"
2370 NMK=NMK+1:PHP=PHP+1
2380 ? :? "press SPACE BAR to continue"
2390 IF PEEK(764)=33 THEN 320
2400 GOTO 2390
2410 GOTO 2500
2420 REM *
2430 REM * DEFEND SECTION *
2440 RU1=INT(RND(0)*RU)+1
2450 IF RU1<>1 THEN 2500
2460 ? "The encounter ran away"
2470 ? :? "press the SPACE BAR to continue"
2480 IF PEEK(764)=33 THEN 320
2490 GOTO 2480
2500 PHE=INT(RND(0)*20)+1
2510 PHE=PHE+(DE-11)+((PDEX*-1)+11)
2520 IF PHE>10 THEN 2570
2530 ? "The encounter Missed"
2540 ? "? "press SPACE BAR to continue"
2550 IF PEEK(764)=33 THEN 2090
2560 GOTO 2550
2570 DAE=INT(RND(0)*DA)+1
2580 ? "The encounter hit you"
2590 PHP=PHP-DAE
2600 IF PHP<0 THEN 2650
2610 ? "You now have •";PHP;" hit points"
2620 ? :? "Press SPACE BAR to Continue"
2630 IF PEEK(764)=33 THEN 2650
2640 GOTO 2630
2650 IF PHP<0 THEN ? : ? "You are dead":END
2660 GOTO 2090
2670 REM *
2680 REM * THE RUN AWAY SECTION *
2690 CHOA=INT(RND(0)*20)+1
2700 CHOA=CHOA+(SPS-11)+((SP*-1)+11)
2710 IF CHOA>10 THEN 3530
2720 ? "YOU have successfully escaped"
2730 ? :? "Press SPACE BAR to continue"
2740 IF PEEK(764)=33 THEN 320
2750 GOTO 2740
2760 REM *
2770 REM * INVENTORY *
2780 GRAPHICS 0:POKE 755,0
2790 POSITION 8,2:? "Inventory":POSZTION 24,2:? "Statistics"
2800 POSITION 7,6:? "Long Sword":POSITION 23,6:? "Strength: ";PSTR
2810 POSITION 7,7:? "Short Sword":POSITZON 23,7:? "Dextexrity: ";PDEX
2820 POSITION 7,8:? "Dagger ":POSZTZON 23,8:? "speed: ";PSP
2830 POSITION 7,9:? "Gold: ";GP
2640 POSITION 23,9:? "Health: ",PCO
2850 POSITION 23,10:? "Hit Points: ";PHP
2860 POSITION 8,12:? "Number Of Monsters killed ";NMK
2870 POSITION 12,14:? "GEMS HELD:"
2880 POSITION 16,15:? REDG$
2890 POSITION 16,16:? BLUEG$
2900 POSITION 16,17:? GOLDG$
2910 POSITION 9,19:? "Press space bar to return"
2920 ZF PEEK(764)=33 AND IN>0 THEN IN=0:GOTO 1990
2930 IF PEEK(764)=33 THEN 320
2940 GOTO 2920
4000 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4010 DATA 1,1,1,1,0,10,44,1,.7,11,86,1,47,1,48,1,0,0,23,0,0,0,11,49.6,1
4020 DATA 1,43,10,0,0,1,1,1,.7,1,1,1,10,1,10,1,0,1,1,1,0,1,1,1,1
4030 DATA 1,1,1,1,,0,01,1,11,1,0,0,0,0,0,0,0,0,0,1,1,0,10,49,1
4040 DATA 1,49.6,1,1,1,0,1,1,.7,1,0,1,0,1,1,1,0,1,0,0,0,0,1,1,1
4050 DATA 1,10,1,49.5,1,0,0,1,.7,1,0,1,0,1,82,1,0,1,1,1,1,23,11,49.4,1
4060 DATA 1,0,1,10,1,1,0,1,11,1,0,1,0,1,11,1,0,1,1,84,1,0,1,1,1
4070 DATA 1,0,23,0,0,0,0,0,23,0,0,0,0,1,0,1,0,1,1,11,1,0,11,49.5,1
4080 DATA 1,1,1,1,1,0,1,1,1,1,0,1,0,0,23,0,0,0,0,0,0,1,1,1,1
4090 DATA 1,1,49.4,1,1,0,0,0,0,0,0,1,0,1,10,1,1,10,1,1,0,10,49.3,49.3,1
4100 DATA 1,1,10,1,1,0,1,0,1,1,0,1,0,10,48,10,49.2,49.2,49.2,1,1,1,49.3,49.3
4110 DATA 1,0,0,0,0,0,1,47,10,0,0,0,0,1,10,1,49.2,49.2,49.2,1,44,1,49.3,49.3,1
4120 DATA 1,10,1,1,1,23,1,10,1,1,0,1,0,1,0,1,1,1,1,1,10,1,1,1,1
4130 DATA 1,0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,46,1,1,0,0,0,0,0,1
4140 DATA 1,0,1,0,0,0,0,1,0,1,0,1,0,1,23,1,10,1,1,0,1,1,1,0,1
4150 DATA 1,11,1,46,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,43,1,0,1
4160 DATA 1,0,1,46,46,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,10,1,23,1
4180 DATA 1,11,1,1,10,1,0,1,0,0,0,0,0,1,40.5,1,40.5,40.5,1,0,0,0,0,0,1
4190 DATA 1,80,1,0,0,0,0,1,0,1,10,1,0,1,10,1,1,10,1,0,1,0,1,1,1
4200 DATA 1,10,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,41,1,1
4210 DATA 1,44,1,0,0,0,0,1,1,1,0,1,1,0,1,0,1,1,1,1,41,1,1
4220 DATA 1,10,1,0,1,1,1,1,40.5,1,0,0,0,0,0,0,1,0,1,40.5,1,1,41,1,1
4230 DATA 1,0,1,0,0,0,1,1,10,1,0,1,0,1,0,1,1,1,1,10,1,1,10,1,1
4240 DATA 1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1
4250 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
5 REM * CHECK DATA *
10 DATA 7395,148,4,114,947,346,506,876,3511,996,135,391,368,387,297,280,571,835
170 DATA 9919,12,928,548,581,982,10,768,741,940,551,33,796,241,959,921,865,51
340 DATA 10136,923,700,380,184,565,785,644,654,248,775,819,986,289,418,368,748,658
510 DATA 18420,862,891,683,56,586,623,618,454,647,369,852,68,952,956,644,458,861
680 DATA 11315,75,961,956,882,784,643,733,597,932,295,540,986,439,929,562,486,595
850 DATA 8928,179,462,428,852,658,706,189,344,479,626,631,386,189,844,651,812,508
1020 DATA 10523,364,885,686,826,696,557,931,691,438,684,822,334,579,32,487,977,534
1190 DATA 18118,2,685,455,309,998,606,947,300,9L3,936,E91,115,855,SB8,612,941,331
1340 DATA 11498,883,698,530,797,934,694,699,16,916,930,698,788,473,785,282,936,687
1510 DATA 11584,50,501,455,941,692,983,641,784,839,772,834,776,787,837,941,694,57
1680 DATA 10929,520,555,953,821,928,810,424,397,558,214,425,982,614,687,547,791,783
1850 DATA 11099,308,216,858,249,297,887,626,806,828,943,945,697,807,699,700,764,477
2020 DATA 9101,615,719,335,726,411,29,975,622,869,906,888,560,518,458,152,189,217
2190 DATA 10742,978,669,984,932,688,880,690,587,193,444,549,928,222,687,212,901,438
2360 DATA 10547,535,679,66,782,936,930,689,783,640,518,673,419,782,945,573,81,516
2530 DATA 9681,529,64,834,941,596,595,167,474,200,31,835,939,986,941,696,288,645
2700 DATA 8629,173,576,428,52,781,943,696,521,715,606,911,189,236,128,578,861,243
2870 DATA 8566,197,786,865,856,865,42,782,944,978,616,226,126,186,553,183,333,28
4090 DATA 6404,595,960,962,174,25,73,129,196,523,179,66,80,374,120,963,985