#5:BAS

(published: Sep. 22, 2000)

前作で構成した、 大きなキャラ(といっても全角で3キャラ×3キャラですが) を動かすシステムを何とかしてゲームにまとめた作品です。

ダウンロード(zip形式, 77.3KB)

ゲーム内容

h太郎を動かして戦闘員を撲滅させて下さい。 h太郎が戦闘員と完全に重なるとその戦闘員を撲滅できます。 戦闘員を全滅させると、 それまでにかかった時間が表示されます。 時間をかけすぎるとh太郎が撲滅されるので気を付けて下さい。

操作方法

カーソルキー:8方向移動

備考

h太郎の姿が戦闘員の陰に消えてしまうことがありますが、 バグではなく、仕様です。 何か操作をすれば再び姿を現します。

1 randomize
5 dim hm$(2,3),em$(2,3),h%(10),v%(10),b%(10),r%(10)
6 cls
7 x%=0:y%=0:d%=2:s%=0:t%=11
10 hm$(0,0)=" q_"
11 hm$(1,0)="<h "
12 hm$(2,0)="/ >"
13 hm$(0,1)="_q "
14 hm$(1,1)=" h>"
15 hm$(2,1)="< \"
16 hm$(0,2)=" q "
17 hm$(1,2)="<h>"
18 hm$(2,2)="/ \"
19 hm$(0,3)="\q/"
20 hm$(1,3)=" h "
21 hm$(2,3)=" ‖ "
22 em$(0,0)=" テ_"
23 em$(1,0)="<ロ "
24 em$(2,0)="/ >"
25 em$(0,1)="_テ "
26 em$(1,1)=" ロ>"
27 em$(2,1)="< \"
28 em$(0,2)=" テ "
29 em$(1,2)="<ロ>"
30 em$(2,2)="/ \"
31 em$(0,3)="\テ/"
32 em$(1,3)=" ロ "
33 em$(2,3)=" ‖ "
34 for l%=0 to 22
35  for m%=0 to 32
36   locate m%*2,l%:print " ";
37  next m%
38  locate 33*2,l%:print "■";
39 next l%
40 for l%=0 to 33
41  locate l%*2,23:print "■";
42 next l%
43 for l%=0 to 2
44  locate x%*2,y%+l%:print hm$(l%,2)
45 next l%
46 for l%=0 to 10
47  h%(l%)=30:v%(l%)=20:b%(l%)=2:r%(l%)=1
48 next l%
50 locate 70,1:print "bas"
52 locate 70,2:print "[cursor]: move"
54 locate 70,4:print "by Nisino Tatami"
56 locate 70,6:print "push [spc]"
58 i$=inkey$:if i$<>" " then 58
60 locate 70,6:print "          "
100 x0%=0:y0%=0
110 if keystate(28)<0 and x%<30 then x0%=1:d%=0
115 if keystate(29)<0 and x%>0 then x0%=-1:d%=1
120 if keystate(31)<0 and y%<20 then y0%=1:d%=2
125 if keystate(30)<0 and y%>0  then y0%=-1:d%=3
126 if x0%=0 and y0%=0 then 151
129 for l%=0 to 2
130 locate (x%+x0%)*2,y%+y0%+l%:print hm$(l%,d%);
131 next l%
132 if x0%=0 then 136
133 for l%=0 to 2
134  locate (x%+1-x0%)*2,y%+l%:print " ";
135 next l%
136 if y0%=0 then 150
137  locate x%*2,y%+1-y0%:print "   ";
150 x%=x%+x0%:y%=y%+y0%
151 for j%=0 to 10
152 if r%(j%)=0 then 260
153 if h%(j%)<>x% or v%(j%)<>y% then 160
154 r%(j%)=0:t%=t%-1
155 for l%=0 to 2
156 locate h%(j%)*2,v%(j%)+l%:print "ミンチ";
157 next l%
158 goto 260
160 b%(j%)=int(rnd(1)*4):h0%=0:v0%=0
170 on b%(j%)+1 goto 180,190,200,210
180 if h%(j%)<30 then h0%= 1
185 goto 220
190 if h%(j%)> 0 then h0%=-1
195 goto 220
200 if v%(j%)<20 then v0%= 1
205 goto 220
210 if v%(j%)> 0 then v0%=-1
220 if h0%=0 and v0%=0 then 230
221 for l%=0 to 2
222 locate (h%(j%)+h0%)*2,v%(j%)+v0%+l%:print em$(l%,b%(j%));
223 next l%
230 if h0%=0 then 240
231 for l%=0 to 2
232  locate (h%(j%)+1-h0%)*2,v%(j%)+l%:print " ";
233 next l%
240 if v0%=0 then 242
241  locate h%(j%)*2,v%(j%)+1-v0%:print "   ";
242 h%(j%)=h%(j%)+h0%:v%(j%)=v%(j%)+v0%
260 next j%
265 s%=s%+1
266 if s%=100 then locate 70,10:print "let's go  ";
267 if s%=200 then locate 70,10:print "be careful";
268 if s%=300 then locate 70,10:print "hurry up  ";
270 if s%=400 then locate 70,10:print "danger    ";
360 if t%>0 and s%<500 then goto 100
361 if s%<500 then 370
362 for l%=0 to 2
363 locate x%*2,y%+l%:print "ミンチ";
364 next l%
365 locate 70,10:print "you lose  ";
366 goto 400
370 for l%=0 to 2
371  locate x%*2,y%+l%:print hm$(l%,2)
372 next l%
373 locate 70,10:print "you win   ";
400 locate 0,0:print "time :";s%
410 locate 10,10:print "retr[y]/e[n]d"
420 i$=inkey$
430 if i$="y" then 6
440 if i$<>"n" then 420
450 end

([D]iscoversoft) (H-man in [A]CTIVE BASICトップ) (総合索引[t])


H-man AND NOW
作:Nishino Tatami (ainosato@vc-net.ne.jp)