wonbe/shoot.wb
Kawamata Akira ee82c35364 scan_XX took a bug that does not work
Version 0.02 - from wonbe002.lzh
2000-11-07 12:00:00 +09:00

79 lines
2.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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は07)
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