home *** CD-ROM | disk | FTP | other *** search
- 10 rem copyright 1988 compute! publications, inc. - all rights reserved
- 20 poke56,48:poke55,0:clr:poke53280,15:poke53281,15
- 30 print"[147][144] copyright 1988 compute! pub., inc."
- 40 printtab(10)"all rights reserved"
- 50 fori=1to191:reada:x=x+a:next
- 60 ifx<>17240thenprint"error in data statements.":stop
- 70 restore:fori=679to725:reada:pokei,a:next:x=rnd(-ti)
- 80 data 120,165,1,41,251,133,1,169,208,133
- 90 data 252,169,48,133,254,169,0,133,251,133
- 100 data 253,162,8,160,0,177,251,145,253,200
- 110 data 208,249,230,252,230,254,202,208,242,165
- 120 data 1,9,4,133,1,88,96
- 130 x=0:forn=12288to12298:x=x+peek(n):next:ifx<>822thengosub1460
- 140 dim p%(9):poke53272,29
- 150 d$="":tu$="020102019352517271727126"
- 160 bf$="@@@@@@@@@@@@@@@":fl$="aaaaaaaaaaaaaaa"
- 170 uu$="whoops...uh-oh... eek!!! oh, no! ouch!!! look out!stop! "
- 180 uu$=uu$+"drop! roll! help!!! "
- 190 b$="[213][192][192][192][192][192][192][192][192][192][201][157][157][157][157][157][157][157][157][157][157][157][221] [221][157][157][157][157][157][157][157][157][157][157][157][202][192][178][192][192][192][192][192][192][192][203]"
- 200 b$=b$+"[157][157][157][157][157][157][157][157][157][157][157][192][192][203]"
- 210 bs$=" [157][157][157][157][157][157][157][157][157][157][157] [157][157][157][157][157][157][157][157][157][157][157] "
- 220 bs$=bs$+"[157][157][157][157][157][157][157][157][157][157][157] "
- 230 s=54272:forn=sto54295:poken,0:next:poken,15:rem setup sound
- 240 pokes+2,0:pokes+3,8:pokes+5,15:pokes+6,255
- 250 pp=4000:forn=0to9:p%(n)=pp:pp=pp*2^(1/12):next
- 260 rem init sprites
- 270 x1=53248:y1=53249:x2=53250:y2=53251
- 280 pokex1,0:pokey1,170:pokex2,0:pokey2,184:poke53264,3
- 290 poke53287,15:poke53288,15:poke53277,1:poke53271,1:poke2040,14:poke2041,13
- 300 rem pick type
- 310 print"[147][144]pick the type of problems you want:"
- 320 print"(1) addition":print"(2) subtraction"
- 330 print"(3) multiplication":print"(4) division":poke198,0
- 340 gett$:ift$<"1"ort$>"4"then340
- 350 rem pick level
- 360 print"[147]pick the level of difficulty:"
- 370 print"(1) beginner":print"(2) intermediate"
- 380 print"(3) einstein":poke198,0
- 390 getwh$:ifwh$<"1"orwh$>"3"then390
- 400 wh=15+(4-val(wh$))*15
- 410 print"[147]you will have"wh"seconds to put out the fire...."
- 420 print"press return[146] to start....":poke198,0
- 430 geta$:ifa$<>chr$(13)then430
- 440 rem main loop
- 450 print"[147]":gosub570:ti$="000000":pr=1
- 460 gosub810
- 470 printleft$(d$,6+pr)spc(9)"[144] "x$" "o$" "y$" "
- 480 fl=0:gosub980
- 490 iffl=1thengosub1180:goto520
- 500 pr=pr+1:ifpr<11then460
- 510 gosub1290
- 520 print"[129]play again? (y/n)":poke198,0
- 530 geta$:ifa$="n"thenpoke53269,0:print"[147]":end
- 540 ifa$<>"y"then530
- 550 poke53269,0:print"[147]":goto260
- 560 rem init scene
- 570 gosub1390:printleft$(d$,17)spc(5)"[151] a "
- 580 printleft$(d$,7);:forn=1to10:printspc(5)"[151]"fl$:next:de=60:gosub1140
- 590 forn=10to1step-1:pokes+4,129:forz=4to20:pokes+1,z:next
- 600 printleft$(d$,n+6)spc(5)"[129]"bf$:pokes+1,0:de=5:gosub1140
- 610 printleft$(d$,n+3)spc(20)"[144]"b$
- 620 printleft$(d$,n+4)spc(21)"[149]"mid$(uu$,(11-n-1)*9+1,9):de=20:gosub1140
- 630 printleft$(d$,n+3)spc(20)bs$:next
- 640 rem enter truck
- 650 pokes+4,65:poke53264,3:poke53269,3:pokex1,140:pokex2,140:poke53287,7
- 660 poke53288,2:forx=400to200step-2:xx=x:ifxx>255thenxx=xx-255
- 670 ifxx>=254thenpoke53264,2
- 680 pokex1,xx:xx=x+32:ifxx>255thenxx=xx-255
- 690 ifxx>=254thenpoke53264,0
- 700 pokex2,xx:sn=sn+1:ifsn<7thenpokes+1,30
- 710 ifsn>6thenpokes+1,23
- 720 ifsn>12thensn=0
- 730 next:pokes+1,0
- 740 rem ladder up
- 750 forn=18to7step-1:printleft$(d$,n)spc(24)"[152]a":pokes+1,240-10*n:next
- 760 pokes+1,0:pokes+4,16
- 770 rem fireman up
- 780 pokex2,208:forn=164to92step-1:pokey2,n:pokes+1,180-n:next:pokes+1,0
- 790 pokes+4,16:return
- 800 rem generate problem
- 810 onval(t$)gosub840,860,890,910
- 820 x$=mid$(str$(x),2):y$=mid$(str$(y),2):return
- 830 rem addition
- 840 gosub940:o$="+":aq$=str$(x+y):gosub960:return
- 850 rem subtraction
- 860 gosub940:ify>xthen860
- 870 k=x+y:aq$=str$(x):gosub960:x=k:o$="-":return
- 880 rem multiplication
- 890 gosub940:o$="x":aq$=str$(x*y):gosub960:return
- 900 rem division
- 910 gosub940:ifx=0ory=0then910
- 920 k=x*y:aq$=str$(x):gosub960:x=k:o$="/":return
- 930 rem generate two values
- 940 x=int(rnd(1)*10):y=int(rnd(1)*10):return
- 950 rem prune string
- 960 aq$=mid$(aq$,2):return
- 970 rem get answer
- 980 an$="":poke198,0
- 990 geta$:printleft$(d$,22)"time: "right$(ti$,2)
- 1000 ifval(right$(ti$,3))>whthenfl=1:return
- 1010 ifa$=chr$(13)then1040
- 1020 ifa$<"0"ora$>"9"then990
- 1030 an$=an$+a$:printleft$(d$,pr+6)spc(21)"[129]"an$:iflen(an$)<3then990
- 1040 ifan$=aq$thengosub1090:return
- 1050 printleft$(d$,pr+6)spc(30)"[144]no!!!":pokes+4,33:pokes+1,10:de=20:gosub1140
- 1060 pokes+1,0:pokes+4,32:printleft$(d$,pr+6)spc(30)" "
- 1070 printleft$(d$,pr+6)spc(21)" ":goto980
- 1080 rem right
- 1090 printleft$(d$,pr+6)spc(20)"[154][192][192][192][192]"
- 1100 pokes+4,129:pokes+1,90:de=20:gosub1140:pokes+4,128:pokes+1,0
- 1110 printleft$(d$,pr+6)spc(20)" "
- 1120 printleft$(d$,pr+6)spc(5)"[151]"fl$:pokey2,peek(y2)+8:return
- 1130 rem delays
- 1140 tt=ti
- 1150 ifti-de<ttthen1150
- 1160 return
- 1170 rem burn it down
- 1180 printleft$(d$,22)"oops... too long!!!":pokes+4,129
- 1190 forn=10to1step-1:pokes+1,210-n*20
- 1200 printleft$(d$,n+6)spc(5)"[129]"bf$:pokes+1,0:next:de=60:gosub1140
- 1210 forn=20to0step-1:pokes+1,n*10
- 1220 printleft$(d$,21-n)spc(5)" ";:next
- 1230 printleft$(d$,17)spc(5)"[152] [169][144] [152][223][146]"
- 1240 printleft$(d$,18)spc(5)"[152][169] [144] [152] [223]"
- 1250 printleft$(d$,19)spc(5)"[144][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
- 1260 forn=1to8:x=int(rnd(1)*10)+8:y=int(rnd(1)*11)+6
- 1270 printleft$(d$,y)spc(x)"@":de=10:gosub1140:next:return
- 1280 rem all 10
- 1290 pokes+4,65:forn=1tolen(tu$)/2:p$=mid$(tu$,(n-1)*2+1,2)
- 1300 p=val(left$(p$,1)):de=val(right$(p$,1))*3
- 1310 p=p%(p):p1=int(p/256):p2=p-256*p1
- 1320 pokes,p2:pokes+1,p1:forp=1tode*20:next
- 1330 pokes,0:pokes+1,0:forp=1tode:next:next:pokes+4,64
- 1340 printleft$(d$,5)spc(20)""b$
- 1350 printleft$(d$,6)spc(21)"yay!!!":pokes+4,129:forn=0to15step.1
- 1360 poke54296,n:pokes+1,10:next:forn=15to1step-.05:poke54296,n:next
- 1370 pokes+1,0:pokes+4,128:poke54296,15:return
- 1380 rem show level
- 1390 print""spc(20)"[149]level:";
- 1400 ifwh$="1"thenprint" [129] beginner "
- 1410 ifwh$="2"thenprint" [129] intermed. "
- 1420 ifwh$="3"thenprint" [129] einstein "
- 1430 print""spc(20)"[149]time limit:";
- 1440 print"[129]"wh"[157] sec. ":return
- 1450 rem define sprites & 2 chars
- 1460 forn=0to64*2-1:reada:poke832+n,a:next
- 1470 sys679:forn=0to15:reada:poke12288+1024+n,a:next:return
- 1480 rem sprite data
- 1490 data0,30,0,0,63,0,0,127
- 1500 data224,0,18,16,0,34,0,0
- 1510 data18,0,0,12,0,0,30,0
- 1520 data0,63,0,7,255,0,7,239
- 1530 data0,7,223,0,0,127,0,0
- 1540 data127,0,0,127,0,0,127,0
- 1550 data0,54,0,0,54,0,0,54
- 1560 data0,0,54,0,0,126,0,184
- 1570 data0,0,0,0,0,0,0,0
- 1580 data0,0,0,0,0,0,0,0
- 1590 data0,0,0,0,0,0,0,0
- 1600 data0,0,0,0,0,0,30,0
- 1610 data0,50,255,254,98,85,84,194
- 1620 data85,84,255,255,254,255,137,255
- 1630 data255,186,255,243,154,231,204,185
- 1640 data153,18,255,164,12,0,24,0
- 1650 rem char data
- 1660 data146,214,215,247,247,254,252,060
- 1670 data255,129,129,129,129,129,129,255
-