海外ドラマ『プリズン・ブレイク シーズン1』
ぜんぜん脱獄しないじゃないですか。ずっと牢獄の中とか、見てると息が詰まりそうで、面白いのですが、飽きてしまいます。映画やドラマでずっと狭い空間にいる役者たちをみると、苦しくなってしまう私ですが、なぜかゲームになると息が詰まるとか感じたことがありません。やはり自分がプレイするからでしょうか。
子供の頃に夢中になったBASICの感覚を取り戻すため、今回からダンジョンゲームを作っていこうかと思います。
まずはダンジョンの表示。MID$を使って文字列を抽出してマップを表示します。
takk@ubu16:~/basictest$ cat test.bas | nl -ba -i10 -v10
10 '$lang: "qb"
20
30
40 dim map$(30)
50 map$(1) = "###################################"
60 map$(2) = "###################################"
70 map$(3) = "###################################"
80 map$(4) = "#######S# # ## ############"
90 map$(5) = "####### ### #### ## ## # #######"
100 map$(6) = "####### # # ## #G## #######"
110 map$(7) = "####### # #### ### ### #### #######"
120 map$(8) = "####### # # #######"
130 map$(9) = "###################################"
140 map$(10) = "###################################"
150 map$(11) = "###################################"
160
170 x = 8
180 y = 4
190
200
210
220 money = 1
230 while 1
240 cls
250 for yy = y-3 to y+3
260 print mid$(map$(yy),x-7,15)
270 next
280
290 locate 4,8
300 print "*"
310
320 do
330 let k$ = INKEY$
340 loop until k$ <> ""
350
360 select case k$
370 case "j"
380 y = y + 1
390 case "k"
400 y = y - 1
410 case "h"
420 x = x - 1
430 case "l"
440 x = x + 1
450 end select
460 wend
470
takk@ubu16:~/basictest$
実行するとこのような画面が表示されます。*がプレイヤーです。#は壁です。判定してないので、今は壁を通り抜けることができます。Vimmerなので移動はjkhlです。

コメント