前回の ミニダンジョンを作ろう 3 のつづきです。
プログラミングに興味が出たら、他の言語もチャレンジしてみましょう。
それぞれ得意なことが異なるので、複数知っている方が楽しいですよ。
Scratch、Python、Javascriptなどおすすめです。
学習の始め方が分からないときは、ネットにある無料の入門サイトを探してみるのはどうでしょうか。
なぜ無料のサイトを勧めるかというと、学習内容が自分にあっているかどうかやってみないと分からないからです。
無料ならすぐにやめて次へ行きやすいですよね。
指定したマップでコインを表示
3つ目のマップ、つまり、map_no が 2 の時だけコインを表示させます。
まず条件判断文を作ります。
論理 から下図のブロックを持ってきます。
最初だけ の一番下に条件判断文を入れます。
変数 map_no を組み込んで 2 と等しいかどうかの条件判断文を作ります。
くりかえし 8 回を入れます。
コインのスプライト表示を上からコピーします。
これでコインを8つ表示します。
シーン から mySpriteをランダムに の上に配置 を持ってきます。
下図のところに入れて変数を coin に変更します。
絵を指定していないので、マップ上の何もないタイルの上にコインが表示されます。
実行してみましょう。
何もない地面の上にコインが8個表示されます。
ところで画面の下の方(壁の外側)にコインがないことに気づきましたか?
このマップは画面サイズより縦が小さいです。
実際のマップは壁が表示されているエリアだけなので、この中の空のタイルからランダムに選ばれてコインが配置されます。
マップの処理を関数にしよう
マップの処理を関数(かんすう)にします。
関数とは、処理をまとめておくことで再利用しやすいようにする仕組みのことです。
最初だけ の中からマップ処理を取り出して関数にします。
関数 は 高度なブロック の中にあります。
ここを開いて 関数を作成する をクリックします。
関数の名前を マップのセット にします。
マップの処理を関数ブロックの中に移動します。
下図に見えていない最後の処理まで移動しましょう。
これでマップの処理を関数にできました。簡単ですね。
最初だけ の中からこの関数を呼び出す必要があります。
「関数を呼び出す」「関数を呼ぶ」というフレーズは、関数内の処理を実行するという意味です。
関数 から 呼び出し マップのセット を持ってきます。
この呼び出し用のブロックは関数を作ったときに自動で作られます。
最初だけ の中に 呼び出し マップのセット を入れます。
それから、これからのために変数 map_no を 0 にしておきましょう。
これでマップの処理を関数にすることができました。
実行してちゃんと動くか確認しましょう。
マップの切り替えをしよう
プレイヤーが階段までたどり着いたとき次のマップへ切り替えます。
シーン からタイルマップ用の当たり判定を持って来ます。
タイルの絵を階段に変更します。
変数 から 変数 map_no を 1 だけ増やす を持って来ます。
当たり判定の中に入れます。
設定が下図と異なるとき 変数 map_no を 1 だけ増やす にします。
あとはマップ処理の関数を呼び出すだけ … ではないんです。
階段にたどり着いたとき、次のマップへ切り替えるパターンとオールクリアの2つのパターンが存在します。
下図の条件判断文を用意します。
等しいかどうか調べるため = のブロックを入れます。
高度なブロック の 配列 の中から 配列の長さ を持ってきます。
変数 map_no と map の配列の長さを比べます。
配列の長さ map を使うとセットしたマップの個数を調べることができます。
つまり、マップの個数と map_no の数が同じとき「最後のマップを表示していた」ことになります。
ゲーム から2つのブロックを持ってきます。
上に game over 勝ち を入れて、下に タイトル"次のマップへ"を表示する を入れます。
下に 呼び出し マップのセット を入れます。
テストしましょう。
1面から2面へ、2面から3面へ切り替わるときは「次のマップへ」が表示されます。
3面の階段へたどり着いたときゲームオーバー演出が始まります。
続きます。