home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 136
/
Tiger_Disk_136_20xx_Tiger-Crew-Disk_de_Side_B.d64
/
firemath [td]
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
5KB
|
168 lines
1 ifpeek(816)=165andpeek(817)=244then20
10 print"[147] kill cartridge ! ":end
20 poke56,48:poke55,0:clr:poke53280,15:poke53281,15
30 print"[147][144] loesche das feuer durch das loesen"
40 printtab(10)"der rechen-aufgaben!"
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 data120,165,1,41,251,133,1,169,208,133
90 data252,169,48,133,254,169,0,133,251,133
100 data253,162,8,160,0,177,251,145,253,200
110 data208,249,230,252,230,254,202,208,242,165
120 data1,9,4,133,1,88,96
130 x=0:forn=12288to12298:x=x+peek(n):next:ifx<>822thengosub1460
140 dimp%(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]waehle die art der aufgaben :"
320 print"(1) addieren":print"(2) subtrahieren"
330 print"(3) multiplizieren":print"(4) dividieren":poke198,0
340 gett$:ift$<"1"ort$>"4"then340
350 rem pick level
360 print"[147]wahle den schwierigkeitsgrad:"
370 print"(1) neuling":print"(2) fortgeschritten"
380 print"(3) einstein":poke198,0
390 getwh$:ifwh$<"1"orwh$>"3"then390
400 wh=15+(4-val(wh$))*15
410 print"[147]du hast"wh"sekunden, um das feuer":print"zu loeschen!"
420 print"los mit return[146] ...":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]nochmal ? (j/n)":poke198,0
530 geta$:ifa$="n"thenpoke53269,0:print"[147]":end
540 ifa$<>"j"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)"zeit: "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... zu lang...!":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)"jaaa!!":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] neuling "
1410 ifwh$="2"thenprint" [129] fortgeschr. "
1420 ifwh$="3"thenprint" [129] einstein "
1430 print""spc(20)"[149]zeit 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
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