Hana道場【師範】のブログ

IchigoJamの徹底解説ブログ

【POKEでキャラ作成】みんなでワイワイ『視力検査ゲーム』 for IchigoJam / めがねのまち 鯖江

f:id:hanadojo_sihan:20200829131053j:plain

IchigoJamの生まれた地「めがねのまち 鯖江

目の健康にも力を入れて発信しています。

www.youtube.com

www.asahi.com

 

IchigoJamでも視力検査ゲームをつくってみました。

みんなでワイワイ測りましょう!

 

【プログラム】

5 CLV:CLP:V=7

6 COPY 233*8,232*8,8*4

10 POKE 232*8,0

11 POKE 233*8+7,0

12 POKE 234*8+2,67,1,1,67

13 POKE 235*8+2,194,128,128,194

20 CLS:VIDEO V

30 C=232+RND(4)

40 Z=2*(V=1)+4*(V=3)+8*(V=5)+16*(V=7)

50 X=31/Z:Y=23/Z

60 LC X,Y:?CHR$(C)

70 K=INKEY():IF K=0 WAIT10:CONT

80 IF K=10&&V>1 V=V-2:M=0

90 IF M=2 VIDEO3:?"シリョク:";S:END

100 IF K=8 M=M+1:GOTO20

110 S=S+1

120 GOTO20

実行画面(IchigoJam web)

 

<遊び方>

2人でプレイヤー側と審判側に分かれて遊びます。

審判は、表示された方向とプレイヤーの言った方向が合っていればEnter、間違っていればBackSpaceを押します。

3回連続で間違うとゲームオーバー。スコア(視力)が表示されます。

 

<解説>

V:画面サイズ C:方向を示す文字のコード

Z:表示する位置を画面サイズによって調整する

X:方向を示す文字のヨコ座標 Y:方向を示す文字のタテ座標

M:ミスした回数 S:スコア(視力)

5 CLV:CLP:V=7 画面サイズの初期設定はVIDEO 7

6 COPY 233*8,232*8,8*3 ○の文字(232番)を233,234,235番に3つ分コピー

10 POKE 232*8,0 文字コード232の文字を、↑方向文字に書き換え

11 POKE 233*8+7,0 文字コード233の文字を、↓方向文字に書き換え

12 POKE 234*8+2,67,1,1,67 文字コード234の文字を、←方向文字に書き換え

13 POKE 235*8+2,194,128,128,194 文字コード235の文字を、→方向文字に書き換え 

20 CLS:VIDEO V VIDEO7からスタート

30 C=232+RND(4) ランダムに↑↓←→方向の文字コードを決定

40 Z=2*(V=1)+4*(V=3)+8*(V=5)+16*(V=7) 画面サイズによって中心の座標を補正

50 X=31/Z:Y=23/Z 方向文字の位置の決定

60 LC X,Y:?CHR$(C) 方向文字の表示

70 K=INKEY():IF K=0 WAIT10:CONT 何かキーを押すまで同じ行繰り返し

80 IF K=10&&V>1 V=V-2:M=0 Enterキーを押すと、画面サイズが半分になる

90 IF M=2 VIDEO3:?"シリョク:";S:END 同じ大きさで3回ミスをすると終了

100 IF K=8 M=M+1:GOTO20 BackSpaceキーを押すとミスカウントを増やし、同じ大きさで再表示

110 S=S+1 スコア増加

120 GOTO20

 

<補足>

6行目で文字コード232(○)を3つコピーして用意します。

1文字あたり8つのアドレスで構成されているので、8*3の32個分にコピーします。

COPY コピー先,コピー元,アドレス数

10〜13行目でコピーした○文字を、↑↓←→方向に穴を空けていきます。

例えば、10行目だと○文字の一番上の部分(アドレス:232*8)を0に書き換えることで、○の上方向に穴の開いた文字になります。

POKE アドレス,値 {,値,値,...}

文字コード224〜255の文字はPCGといって、POKEで書き換え可能な文字です。

 

文字コード232の初期状態】

f:id:hanadojo_sihan:20200829145414j:plain

POKE 232*8,0 を実行すると

f:id:hanadojo_sihan:20200829145409j:plain


↑方向の文字ができました!

?CHR$(232) を実行して書き換わっているか確認しましょう。

f:id:hanadojo_sihan:20200829152053p:plain

あとは同じように、

11行目で↓(233番)、12行目で←(234番)、13行目で→(235番)の方向文字を作成しています!

 

<改造方法>

さらに4つの方向文字、右上、左上、右下、左下を追加していきます。

下のプログラムを追加すればOKです。

6 COPY 233*8,232*8,8*7

14 POKE 236*8+1,96,193

15 POKE 237*8+1,6,131

16 POKE 238*8+5,193,96

17 POKE 239*8+5,131,6

30 C=232+RND(8)

6 COPY 233*8,232*8,8*7 ○の文字を7個分コピー

14 POKE 236*8+1,96,193 右上 方向の文字作成

15 POKE 237*8+1,6,131 左上 方向の文字作成

16 POKE 238*8+5,193,96 右下 方向の文字作成

17 POKE 239*8+5,131,6 左下 方向の文字作成

30 C=232+RND(8) 8つの方向からランダムに1つ決定

 

実行画面(IchigoJam web)

合計で8個の文字(232〜239番)をつくりましたね。

前方向ということで○をそのまま使うのもありかも?w

これを期にPOKEによるキャラクターづくりをマスターしましょう!

CC BY shoichi1031da / @shoichi1031da

twitter.com