カラフル/colorful PV
アニメ映画『カラフル』(2010)
重い感じで始まりますが、どうストーリーが進むのか気になって面白かったです。結末の予想はついていましたが感動で泣いてしまいました。
今回もBASICです。コンソールに表示する文字色と文字色を変えてみます。
color命令で数字を指定すれば、数字に割り当てられている色が設定できます。
書式) COLOR 文字色,背景色
takk@ubu16:~/basictest$ cat color.bas | nl -ba -i10 -v10
10 '$lang: "qb"
20
30 cls
40
50 for i = 0 to 15
60 y = int(i / 8) + 1
70 x = (i mod 8) * 2 + 1
80 locate y,x
90 color i,8
100 print "" & i
110 next
takk@ubu16:~/basictest$

では作成中のゲームのマップに色を付けてみましょう。
takk@ubu16:~/basictest$ cat test.bas | nl -ba -i10 -v10
10 '$lang: "qb"
20
30
40 dim map$(30)
50 ' 1 2 3
60 ' 12345678901234567890123456789012345
70 map$(1) = "###################################"
80 map$(2) = "###################################"
90 map$(3) = "###################################"
100 map$(4) = "#######S# # ## ############"
110 map$(5) = "####### ### #### ## ## # #######"
120 map$(6) = "####### # # ## #G## #######"
130 map$(7) = "####### # #### ### ### #### #######"
140 map$(8) = "####### # # #######"
150 map$(9) = "###################################"
160 map$(10) = "###################################"
170 map$(11) = "###################################"
180
190 x = 8
200 y = 4
210
220 while 1
230 cls
240
250 color 2,1 'green on blue
260 for yy = y-3 to y+3
270 print mid$(map$(yy),x-7,15)
280 next
290
300 color 5 'red
310 locate 4,8
320 print "*"
330
340 color ,0 'bgcolor=black
350
360 do
370 let k$ = INKEY$
380 loop until k$ <> ""
390
400 select case k$
410 case "j"
420 ck = y + 1
430 if mid$(map$(ck),x,1) <> "#" and ck <= 8 then y = ck
440 case "k"
450 ck = y - 1
460 if mid$(map$(ck),x,1) <> "#" and ck >= 4 then y = ck
470 case "h"
480 ck = x - 1
490 if mid$(map$(y),ck,1) <> "#" and ck >= 8 then x = ck
500 case "l"
510 ck = x + 1
520 if mid$(map$(y),ck,1) <> "#" and ck <= 28 then x = ck
530 end select
540 wend
550
takk@ubu16:~/basictest$


コメント