git @ Cat's Eye Technologies Bubble-Escape / master src / bubble escape.bas
master

Tree @master (Download .tar.gz)

bubble escape.bas @masterraw · history · blame

   10 gosub800:goto1390
   20 gosub380:gosub530
   30 gosub280:gosub170:gosub170
   40 ifmthenm=0:goto20
   50 ifj$<>"3"andj$<>"g"andj$<>"w"then30
   60 ifj$="3"thenpokev+40,1:pokev+41,1:pokev+42,1:pokev+40,0:pokev+41,0
   70 ifj$="3"thenpokev+42,0:poke54276,129:poke54276,128:goto30
   80 ifj$="g"then120
   90 wx=wx+vel:gx=gx-vel:ifgx<50thengx=240
  100 ifwx>240thenwx=50
  110 pokev+2,wx:pokev+4,gx:goto30
  120 ifgx>bxthengx=gx-2
  130 ifgx<bxthengx=gx+2
  140 ifgy<bythengy=gy+2
  150 ifgy>bythengy=gy-2
  160 pokev+2,gx:pokev+3,gy:goto30
  170 jo=peek(56320)
  180 ifjo=126thenyv=yv-1:ifyv<-5thenyv=-5
  190 ifjo=125thenyv=yv+1:ifyv>5thenyv=5
  200 ifjo=123thenxv=xv-1:ifxv<-6thenxv=-5
  210 ifjo=119thenxv=xv+1:ifxv>6thenxv=5
  220 bx=bx+xv:by=by+yv
  230 ifbx<25thenrx=rx-1:m=1:bx=250
  240 ifbx>250thenrx=rx+1:m=1:bx=35
  250 ifby<50thenry=ry-1:m=1:by=187
  260 ifby>187thenry=ry+1:m=1:by=50
  270 pokev,bx:pokev+1,by:return
  280 q=peek(v+30):p=peek(v+31):if(pand1)=1then690
  290 if(qand5)=5then690
  300 if(qand9)=9then690
  310 if(qand3)thenpokev+30,0
  320 if(qand3)=3andj$<>"k"andj$<>"t"andj$<>"e"then690
  330 if(qand3)=3andj$="t"andrx=1thenrx=20:ry=1:goto1490
  340 if(qand3)=3andj$="t"andrx=20thenrx=1:ry=10:goto1490
  350 if(qand3)andj$="k"thenx$(rx,ry)=left$(x$(rx,ry),4)+"n":goto1530
  360 if(qand3)=3andj$="e"andk=5then760
  370 return
  380 print"{clr}":poke646,(rnd(1)*15)+1:f$=x$(rx,ry)
  390 forz=1to4:k$=mid$(f$,z,1):pokev+31,0:ifk$="1"thenonzgosub470,490,500,510
  400 next
  410 print"{home}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{red}keys:"
  420 print"{home}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{cyn}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}"k
  430 print"{home}{blu}{CBM-+}{CBM-+}{down}{left}{left}{CBM-+}{CBM-+}":print"{home}"tab(30)"{CBM-+}{CBM-+}{down}{left}{left}{CBM-+}{CBM-+}"
  440 print"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"
  450 print"{blu}{CBM-+}{CBM-+}{down}{left}{left}{CBM-+}{CBM-+}":print"{up}{up}"tab(30)"{CBM-+}{CBM-+}{down}{left}{left}{CBM-+}{CBM-+}"
  460 return
  470 print"{home}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP"
  480 print"{home}{down}LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL":return
  490 print"{home}";:fori=1to20:print"O{SHIFT-@}":next:return
  500 print"{home}";:fori=1to20:printtab(30)"O{SHIFT-@}":next:return
  510 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
  520 print"{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}{SHIFT-@}":return
  530 pokev+23,0:pokev+29,0:pokev+21,1:j$=mid$(x$(rx,ry),5,1)
  540 ifj$="e"thenpokeu+1,204:gosub620:pokev+40,2
  550 ifj$="t"thenpokeu+1,204:gosub620:pokev+40,5
  560 ifj$="k"thenpokeu+1,205:gosub620:pokev+40,int(rnd(1)*7)+1
  570 ifj$="w"thenpokeu+1,203:pokeu+2,203:pokev+40,2:pokev+41,2:gosub630
  580 ifj$="g"thenpokeu+1,207:gosub620:pokev+40,4:gx=128:gy=128
  590 ifj$="d"thenpokeu+1,201:gosub620:pokev+23,2:pokev+29,2:pokev+40,5
  600 ifj$="3"thenpokeu+1,202:pokeu+2,202:pokeu+3,202:gosub650
  610 return
  620 pokev+2,128:pokev+3,128:pokev+21,3:return
  630 pokev+4,128:pokev+5,128:wx=100:gx=128
  640 pokev+2,100:pokev+3,100:pokev+21,7:return
  650 pokev+2,100:pokev+3,100:pokev+4,128:pokev+5,128:pokev+6,150:pokev+7,150
  670 pokev+21,15:poke54273,20:poke54278,128
  680 return
  690 pokeu,206:poke54296,15:poke54273,34:poke54272,9
  700 poke54277,1:poke54278,13*16+9:poke54276,129
  710 fori=1to5:next:poke54276,128
  720 fori=1to400:next:print"{clr}":l=l-1:ifl>0thenprint"{clr}{grn}you have"l"lives."
  730 ifl=0thenprint"{clr}{pur}game over.":fori=1to1000:next:goto1390
  740 fori=1to1000:next:bx=70:by=70:pokev+31,0:pokeu,200:xv=0:yv=0
  750 pokev,bx:pokev+1,by:gosub1550:goto20
  760 print"{clr}":fori=1to200:print"{blu}y{yel}o{grn}u {cyn}w{red}o{wht}n{cyn}! ";:next
  770 pokev+29,1:pokev+23,1
  780 fori=1to255:pokev,i:pokev+1,i:next
  790 pokev+29,0:pokev+23,0:goto1390
  800 poke53281,0:poke53280,0:print"{clr}{wht}"
  810 poke53265,peek(53265)and239
  820 v$="3dngw":vel=5:poke54296,15
  830 v=53248:pokev+39,3:u=2040
  840 dimx$(20,10)
  850 fory=1to10:forx=1to20:readx$(x,y):next:next
  860 forx=1to20:fory=1to10:iflen(x$(x,y))=4then880
  870 next:next:goto890
  880 x$(x,y)=x$(x,y)+mid$(v$,int(rnd(1)*5)+1,1):next:next
  890 fori=0to62:readq:poke64*200+i,q:next
  900 fori=0to62:readq:poke64*206+i,q:next
  910 fori=0to62:poke64*203+i,255:next
  920 fori=0to62:poke64*204+i,204:next
  930 fori=0to62:readq:poke64*202+i,q:next
  940 fori=0to62:readq:poke64*207+i,q:next
  950 fori=0to62:readq:poke64*205+i,q:next
  960 fori=0to62:readq:poke64*201+i,q:next
  970 poke53265,peek(53265)or16
  980 return
  990 data"1100s","1001","1001","1001","1001","1001","1001","1001","1001"
 1000 data"1001","1010","1101","1001","1001","1010","1101","1010","1101"
 1010 data"1000","1010t","0110","1101","1000","1000","1001","1010","1100","1001"
 1020 data"1000","1011","0101","1010","1100","1001","0011","1100","0001","1000"
 1030 data"0011","0111","0100","1001","0011","0110","1100","0011","0110","1110"
 1040 data"0111","1100","1011","0110","0101","1000","1010","0110","1100","0010"
 1050 data"1100","1010","0101","1001","1010","0110","0111","1110"
 1060 data"0110","0110","1110","0110","1100","0011","1101","0011","0110","0110"
 1070 data"0111","0101","0011","0110","1100","1000","0011","0100","1011","0100"
 1080 data"0011","0101","0001","0010","0110","1100","1001","1001","0011","0101"
 1090 data"1010","1100","1001","0011","0111","0111","1100","0000","1010","0110"
 1100 data"1100","1001","1001","0011","0110","0110","1100","1001","1010","1110"
 1110 data"0110","0110","1100","1010","1100","1000","0011","0110","0101","0000"
 1120 data"0010","1101","1010","1100","0011","0110","0101","1010","0101","0001"
 1130 data"0011","0101","0011","0110","0110","0111","1100","0001","1010","0110"
 1140 data"0111","1100","0010","0110","1101","0000","1001","0010","1100","1001"
 1150 data"1000","1001","1001","0010","0101","1000","0011","1100","0011","0101"
 1160 data"1001","0011","0111","0101","1010","0110","1100","0011","0101","1010"
 1170 data"0110","1100","1010","0111","1101t","0001","1011","0101","1001","1001"
 1180 data"1001","1001","1001","1001","0001","0011","0101","1001","1001","0011"
 1190 data"0101","0011","0101","1011e"
 1200 data,,,,255,,3,,192,4,96,32,8,128,16,16,,8,16,,8,32,,4,32,,4
 1210 data32,,4,32,,4,32,,4,32,,4,16,,8,16,,8,4,,32,3,,192,,255,,,
 1220 data,,,,,,
 1230 data,8,,32,8,2,16,8,4,8,8,8,4,8,16,2,8,32,,,,3,25,128,2,165,64
 1240 data251,37,160,2,37,,2,25,,,,64,2,16,32,4,16,16,8,16,8,16,16,4,32,16,2
 1250 data64,16,,,16,,,16,
 1260 data,,,,,,,,,,,,,32,,,18,,,2,,1,128,64,,60,64,2,126,
 1270 data4,255,16,,247,32,2,255,,4,255,32,,126,64,1,60,,1,,,,65,128
 1280 data,40,,,4,,,,
 1290 data,,,,,,,,,,63,,,76,128,,158,64,1,59,32,1,59,32,,158,64
 1300 data,76,128,,63,,,12,16,,30,16,7,255,248,7,255,248,3,12,48,1,255,224
 1310 data,255,192,,127,128,,,,,,
 1320 data,,,,,,,,,,126,,,231,,1,231,128,1,255,128,1,255,128
 1330 data,255,,,126,,,24,,,24,,,120,,,120,,,24,,,120,,,120,
 1340 data,,,,,,,,,,,
 1350 data,56,,20,116,30,42,68,56,127,254,62,43,255,120,1,254,126
 1360 data84,255,120,63,255,124,7,245,248,1,247,240,7,234,224,15,240,
 1370 data31,255,,63,225,128,63,222,240,63,222,248,31,206,252,6,60,158
 1380 data1,243,6,,206,24,,,
 1390 print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{blu}b{wht}u{cyn}b{grn}b{pur}l{yel}e  {grn}e{blu}s{red}c{wht}a{yel}p{pur}e{cyn}!"
 1400 print:print"{rght}{rght}{rght}{rght}{rght}{rght}{rght}{grn}joystick {pur}port two
 1410 print:print"{rght}{rght}{rght}{rght}{rght}{rght}{rght}{cyn}any key {yel}to start game
 1420 pokev+21,0:getf$:iff$=""then1420
 1430 pokev+21,1:pokeu,200
 1440 rx=1:ry=1:bx=128:by=128:l=10:k=0:fori=1to5
 1450 r=int(rnd(1)*20)+1:g=int(rnd(1)*10)+1:lf$=right$(x$(r,g),1)
 1460 iflf$="t"orlf$="s"orlf$="e"then1450
 1470 x$(r,g)=left$(x$(r,g),4)+"k":next
 1480 gosub1550:goto20
 1490 poke53281,1:poke53281,0:bx=bx-50:pokev,bx
 1500 poke54279,13:poke54285,13*16+5:print"{clr}"
 1510 poke54283,33:fori=1to20:poke54280,i*10:forj=1to20:next:next:poke54283,32
 1520 gosub380:gosub530:goto1550
 1530 k=k+1:print"{home}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}"k:pokev+21,1
 1540 poke54278,9:poke54273,72:poke54276,17:poke54276,16
 1550 ifpeek(v+30)>0then1550
 1560 return