#9:XAM

(published: Nov. 27, 2000)

point関数を使った画面処理を応用したゲームです。 今回はパラメータを変数にしてまとめることで、 改造をしやすくしています。

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

ゲーム内容

爆弾処理員(白い四角)を動かして 爆弾(青、赤、紫、緑、水色の四角)を 処理して下さい。 爆弾は時間が経つにつれて 青、赤、紫、緑、水色と変化してから爆発し、 黄色い爆風を発生します。 爆風に触れるとゲームオーバーで、 スコアが表示されます。

操作方法

カーソルキー:移動

爆弾に触れることでその爆弾を処理できます。

点数システム

爆弾の色によって異なった点数が入ります。

ソース紹介

1 randomize
10 cls 3
15 x%=1:y%=1:s%=0:f%=0:xl%=0:xr%=20:sp%=15:hw%=30:vw%=30:wt%=200:xi%=60
20 line(0,0)-((hw%+1)*sp%+sp%-1,(vw%+1)*sp%+sp%-1),4,bf
25 line(1*sp%,1*sp%)-(hw%*sp%+sp%-1,vw%*sp%+sp%-1),0,bf
78 locate xi%,2:print "xam"
80 locate xi%,3:print "[cursor]: move"
82 locate xi%,4:print ""
84 locate xi%,5:print "by Nisino Tatami"
86 locate xi%,7:print "push [spc]"
90 i$=inkey$:if i$<>" " then 90
92 locate xi%,7:print "          "
100 x0%=0:y0%=0
110 if keystate(28)<0 and x%<hw% then x0%=1
115 if keystate(29)<0 and x%>1 then x0%=-1
120 if keystate(31)<0 and y%<vw% then y0%=1
125 if keystate(30)<0 and y%>1  then y0%=-1
127 p%=point((x%+x0%)*sp%,(y%+y0%)*sp%)
128 if p%<>7 then s%=s%+p%
129 if p%=6 then f%=1:s%=s%-p%
130 line((x%+x0%)*sp%,(y%+y0%)*sp%)-((x%+x0%)*sp%+sp%-1,(y%+y0%)*sp%+sp%-1),7,bf
135 if x0%<>0 or y0%<>0 then line(x%*sp%,y%*sp%)-(x%*sp%+sp%-1,y%*sp%+sp%-1),0,bf
140 x%=x%+x0%:y%=y%+y0%
201 h%=int(rnd(1)*hw%)+1:v%=int(rnd(1)*vw%)+1:h1%=h%:v1%=v%
201 c%=point(h%*sp%,v%*sp%)+1
202 if c%=7 then c%=0
203 if c%=6 then h%=h%-1:v%=v%-1:h1%=h1%+1:v1%=v1%+1
210 line(h%*sp%,v%*sp%)-(h1%*sp%+sp%-1,v1%*sp%+sp%-1),c%,bf
220 for l%=1 to wt%:next l%
360 if f%=0 then 100
361 for l%=1 to 3
362 x1%=x%-l%:if x1%< 0 then x1%=0
363 x2%=x%+l%:if x2%>hw%+1 then x2%=hw%+1
364 y1%=y%-l%:if y1%< 0 then y1%=0
365 y2%=y%+l%:if y2%>vw%+1 then y2%=vw%+1
366 line(x1%*sp%,y1%*sp%)-(x2%*sp%+sp%-1,y2%*sp%+sp%-1),2,bf
367 next l%
370 locate xi%,7:print "score ";s%;" "
380 locate xi%,9:print "retr[y]/e[n]d"
390 i$=inkey$
400 if i$="y" then 10
410 if i$<>"n" then 390
420 end

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


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