123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 1000 rem シューティング by ワンべぇ
- 1005 rem Nov.7,2000 by autumn
- 1010 rem a,b 自機座標
- 1020 rem c,d 自ミサイル座標
- 1030 rem e,f 敵座標
- 1040 rem @(n*2*0),@(n*2+1) 敵ミサイル座標(nは0~7)
- 1050 rem g ミサイル生成カウンタ
- 1060 rem h ミサイル生成タイミングカウンタ
- 2000 rem 座標の初期化
- 2010 a=14:b=16
- 2020 c=-1:d=-1
- 2030 e=15:f=2
- 2040 for i=0 to 7:@(i*2)=-1:@(i*2+1)=-1:next
- 2050 g=0:h=0
- 3000 rem 開始を待つ
- 3010 cls
- 3020 locate 3,6:print "PUSH BUTTON TO START"
- 3030 locate 3,10:print " (NOT START BUTTON)"
- 3040 z=wait
- 3050 cls:locate 10,8:print "GO!";
- 3060 waitvb 30
- 4000 rem 表示を更新
- 4010 cls
- 4020 locate a,b:print "▲";
- 4030 locate e,f:print "▼";
- 4040 if c>=0 then locate c,d:print "|";
- 4050 for i=0 to 7
- 4060 if @(i*2)>=0 then locate @(i*2),@(i*2+1):print "*"
- 4070 next
- 5000 rem 当たり判定
- 5010 if (c=e)and(d=f) then goto 8000 '自ミサイルが命中・勝利
- 5020 for i=0 to 7
- 5030 if (a=@(i*2))and(b=@(i*2+1)) then goto 9000 '敵ミサイルが命中・敗北
- 5040 next
- 6000 rem 敵移動処理
- 6010 r=rnd(2)
- 6020 if (r=0)and(e<26) then e=e+1
- 6030 if (r<>0)and(e>0) then e=e-1
- 6100 rem 敵ミサイル移動処理
- 6110 for i=0 to 7
- 6120 @(i*2+1)=@(i*2+1)+1
- 6130 if @(i*2+1)>16 then @(i*2)=-1:@(i*2+1)=-1
- 6140 next
- 6200 rem 敵ミサイル生成処理
- 6210 h=h+1
- 6220 if h>3 then h=0
- 6230 if h<>0 then goto 6300
- 6240 @(g*2)=e:@(g*2+1)=f+1 '新しいミサイル
- 6250 g=g+1:if g>7 then g=0
- 6300 rem 自機移動処理
- 6310 s=scan
- 6320 if s and scan_x2 then if a<26 then a=a+1
- 6330 if s and scan_x4 then if a>0 then a=a-1
- 6400 rem 自ミサイル移動処理
- 6410 if c>=0 then d=d-1:if d<0 then c=-1:d=-1
- 6500 rem 自ミサイル発射処理
- 6510 if s and scan_a then if c<0 then c=a:d=b-1
- 6800 waitvb 3
- 6900 goto 4000
- 8000 rem 勝利
- 8010 X=e:Y=f:gosub 10000
- 8020 locate 10,10:print "YOU WIN!"
- 8030 goto 9500
- 9000 rem 敗北
- 9010 X=a:Y=b:gosub 10000
- 9020 locate 10,10:print "YOU LOSE..."
- 9500 locate 0,12:print "PUSH START BUTTON TO EXIT"
- 9510 locate 0,13:print " ANOTHER IS AGAIN"
- 9520 z=wait
- 9900 goto 2000
- 10000 rem 爆発表現
- 10010 for i=0 to 9
- 10020 locate X,Y:print "+";
- 10030 waitvb 10
- 10040 locate X,Y:print "×";
- 10050 waitvb 10
- 10060 next
- 10090 return
|