海外ドラマ『プリズン・ブレイク シーズン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です。
コメント