#11:SVROLK

(published: Feb. 11, 2001)

SVROLKは前作の改訂版です。 初めは縦方向のスクロールだけだったのですが、 何とか改造して4方向スクロールを実現しました。

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

ゲーム内容

"&"を動かして "*"や"&"の移動したあとに出来る"#"、 そして突然現れる"@"にぶつからない様に 避けつづけて下さい。 ぶつかるとゲームオーバーで、 避けつづけていた時間が表示されます。

操作方法

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

"@"について

"@"は常に"&"の進路を塞ぐ様に出現します。 長時間避けつづけていると出現率が上がります。

ソース紹介

1 randomize
5 dim w$(20)
6 sp$="                     "
7 cls
10 wi%=0:ms%=21:d%=1:f%=0:s%=-1:ss%=-1
20 for l%=0 to 20
21  w$(l%)=sp$
22 next l%
78 locate ms%*2+2,2:print "svrolk"
80 locate ms%*2+2,3:print "[cursor]: move"
84 locate ms%*2+2,5:print "by Nisino Tatami"
86 locate ms%*2+2,7:print "push [spc]"
90 i$=inkey$:if i$<>" " then 90
92 locate ms%*2+2,7:print "          "
100 if keystate(28)<0 and d%<>3 then d%=4:goto 110
101 if keystate(29)<0 and d%<>4 then d%=3:goto 110
102 if keystate(31)<0 and d%<>1 then d%=2:goto 110
103 if keystate(30)<0 and d%<>2 then d%=1
110 on d% gosub 1000,2000,3000,4000
111 wp%=(wi%+10) mod 21
112 if kmid$(w$(wp%),11,1)<>" " then f%=1
113 w$(wp%)=kmid$(w$(wp%),1,10)+"#"+kmid$(w$(wp%),12,10)
115 locate 10*2,10:print "&";
116 s%=s%+1
120 if f%=0 then 100
130 for l%=0 to 5
140  locate 8*2,8+l%:print "XXXXX";
150 next l%
270 locate 0,0:print "score ";s%;" "
280 locate ms%*2+2,10:print "retr[y]/e[n]d"
290 i$=inkey$
300 if i$="y" then 7
310 if i$<>"n" then 290
320 end
1000 h1%=int(rnd(1)*ms%):q%=int(rnd(1)*2000)
1010 w$(wi%)=kmid$(sp$,1,h1%)+"*"+kmid$(sp$,1,ms%-1-h1%)
1015 if q%<s% then w$(wi%)=kmid$(w$(wi%),1,10)+"@"+kmid$(w$(wi%),12,10)
1020 for l%=0 to 20
1030  wp%=(wi%+l%) mod 21
1040  locate 0,l%:print w$(wp%);
1050 next l%
1060 wi%=(wi%+20) mod 21
1070 return
2000 h1%=int(rnd(1)*ms%):q%=int(rnd(1)*2000)
2010 w$((wi%+20) mod 21)=kmid$(sp$,1,h1%)+"*"+kmid$(sp$,1,ms%-1-h1%)
2015 if q%<s% then w$((wi%+20) mod 21)=kmid$(w$((wi%+20) mod 21),1,10)+"@"+kmid$(w$((wi%+20) mod 21),12,10)
2020 for l%=0 to 20
2030  wp%=(wi%+l%) mod 21
2040  locate 0,l%:print w$(wp%);
2050 next l%
2060 wi%=(wi%+1) mod 21
2070 return
3000 v1%=int(rnd(1)*20):q%=int(rnd(1)*2000)
3010 for l%=0 to 20
3020  wp%=(wi%+l%) mod 21
3030  a$=" ":if v1%=l% then a$="*"
3035  if q%<s% and l%=10 then a$="@"
3040  w$(wp%)=a$+kmid$(w$(wp%),1,ms%-1)
3050  locate 0,l%:print w$(wp%);
3060 next l%
3070 return
4000 v1%=int(rnd(1)*20):q%=int(rnd(1)*2000)
4010 for l%=0 to 20
4020  wp%=(wi%+l%) mod 21
4030  a$=" ":if v1%=l% then a$="*"
4035  if q%<s% and l%=10 then a$="@"
4040  w$(wp%)=kmid$(w$(wp%),2,ms%-1)+a$
4050  locate 0,l%:print w$(wp%);
4060 next l%
4070 return

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


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