Switchソフト「はじめてゲームプログラミング」のナビ付きレッスン2の後のチェックポイント2の攻略方法の記事です。どうして何も操作してないのに、モノが勝手に右や左に動いていくのでしょうか。
Contents
チェックポイント2
ナビ付きレッスン2の後のチェックポイント2。
2−1:うごかせるモノをうごかせ
チェックポイント2の1は、うごかせるモノをうごかせ
スティックを動かしても、Bボタンを押しても何も反応がありません。
プログラム画面↓
なんとなくスティックを動かすとヒトが動きそうなイメージ。
しかし、設定がいじれるのは、スティックノードンとうごかせるモノノードンの2つ。
リンゴの位置を考えると、うごかせるモノノードンである赤い箱を左に動かしてりんごにぶつかれば、リンゴがコロコロ転がってヒトにぶつかるでしょう。
こちらがうごかせるモノノードンと左右スティックノードンをつないだプログラム画面↓
うごかせるモノノードンの「X」につなぎましょう。
ゲーム画面↓
スティックを左に倒すと、赤い箱が左に動いてリンゴにぶつかり、左側へコロコロ転がりました。そしてヒトに当たってクリア!!
スティックノードンと何かをつなげてうごかせるようにプログラミングするのはもはや定番になりつつあります。
2−2:けいさんで導き出せ
チェックポイント2の2は、けいさんで導き出せ。
ゲームが始まった瞬間、赤い箱が右側に動いて行ってしまいました。
さよなら赤い箱さん。
プログラム画面↓
けいさんノードンの設定がいじれるようになっています。そして、けいさんノードンの入力側に定数ノードン1と定数ノードン2が、出力側にうごかせるモノノードンがつながっています。
けいさんノードンの設定画面。けいさん方法は「+」に設定されています。
けいさん結果が下に表示されているのが易しいですね。
定数ノードン1+定数ノードン2=3。
うごかせるモノノードンのX軸の入力の数値によって、どっちに動いていくかが変わってきます。
「0より小さい数(マイナス)は、左←へ動き、0より大きい数は右→へ動く」
座標がよくわからない場合は、こちらの記事を参考にしてみてください。
うごかせるモノノードンの「X」にけいさんノードン(出力3)がつながっているので、赤い箱がX軸の右側に自動的に動く設定になっています。
リンゴは赤い箱の左側、ヒトはその向こうにいるので、赤い箱を右ではなくて左側に動かせば良さそうですね。
けいさん方法を「ー」にすると、
1ー2= −1
という計算結果になります。
ちなみに「×」にすると1×2=2、「÷」は1÷2=0.5、0より大きい数字なので赤い箱は右側に動いていきます。
と言うことで、今回は計算結果が −1(0より小さい)値になる「ー」を選択します。
ゲーム画面↓
何もボタンを押さなくても、赤い箱が左側に動いてくれました。
リンゴを左に転がしてくれてコロコロ、ヒトに当たってクリア!です。
2−3:カウンターの数
チェックポイント2の3、カウンターの数。
スティックを左右に動かすと、ヒトが左右に動きます。ヒトが青い箱にぶつかると青い箱が壊れてカウンターが「1」ずつ減っていきます。(”「−1」ずつ増えていく”と表現するのは正しい??)
ヒトが青い箱を5つ全て壊しても何も起きません。さえぎる物があるのでリンゴに触れることもできないのでどうすべきか。
プログラム画面↓
何やらたくさんノードンがいます。
一番左が「モノがこわれたしゅんかんノードン」。長方形が壊れた時に出力する設定になっています。この「モノがこわれたしゅんかんノードン」とつながっているのが「カウンターノードン」。
カウンターノードンの出力につながっているのが「くらべるノードン」と「数つきモノノードン」の2つ。この数つきモノノードンは、青い箱が壊れた数を表示するノードンですね。
「くらべるノードン」の入力がカウンターノードンと定数ノードン5とつながっています。そして設定が「=」。つまりカウンターノードンが5を出力したら、くらべるノードンの条件が満たされる(5=5)ので1が出力されます。
くらべるノードンの出力とつながっているのが、うごかせるモノノードン(赤い箱)の「X」。
くらべるノードンから1出力されたら、Xにつながっているので赤い箱は右側に動き続けます。
今回考えることが多い気がする。
カウンターノードンのつなげ方
モノがこわれたしゅんかんノードンとカウンターノードンが繋がっているのに、青い箱が壊れたら1減っていくのが問題。1増えて欲しいのに。
カウンターノードンの入力の種類に注目です。一番上から
- 増やす
- 減らす
- リセット
の3種類あります。
最初つながっていたのが「減らす」の部分。そりゃ青い箱を壊せば1減っていきますよ。
増えて欲しいので、「増やす」につなぎ直します。
ゲーム画面↓
青い箱が壊れたらカウンターが1増えるようになりました!
問題は、青い箱を5つ壊した時に、赤い箱が右側に動いてくれるかどうか。
カウンターが5になった瞬間、赤い箱がビュンと右に動いてくれました!リンゴが右に転がってヒトと触れてクリア!
赤い箱は動き続けますが、さえぎる物で邪魔されてこれ以上右に行けなくなっています。
2−4:くらべた結果
チェックポイント2の4、くらべた結果。
スティックを操作しても、Bボタンを押しても何も動きません。
プログラム画面↓
くらべるノードンの入力に定数ノードン1と定数ノードン2がそれぞれつながっています。そして出力側にうごかせるモノノードンがつながっています。
くらべるノードンの設定を変えたら良さそうなので、設定を見てみましょう。
最初は、「=」につながっていました。
定数ノードンの片方が1、もう片方が2なので、「=」では条件が満たせません。
くらべるノードンの設定について
くらべるノードンの設定画面はこんな感じ。
- =
- >
- <
- ≧
- ≦
もし不等号がわからない方はグーグル先生で調べてもらって学んでください。(丸投げ)
今回の数式としては左側が入力1の値で、右側が入力2の値。
入力1 = 入力2
画面の通り「>」にすると
1 > 2
と間違った表記になってしまうため条件を満たさない。
当然のことながら、
1 < 2 、もしくは 1 ≦ 2 なら条件は満たされます。
けいさん結果が画面に表示されるのでわかりやすいですね。
ゲーム画面↓
ゲームが始まったら自動で赤い箱が右に動いて、リンゴが右へコロコロ、ヒトに当たってクリア!です。
2-5:ワープの作法
チェックポイント2の5、ワープの作法。
スティックを左右に倒すと、ヒトが左右に動きます。
これ以上右に行けないので、リンゴは取れない。
プログラム画面↓
さえぎる物の左右に何かノードンが設置されています。
さえぎる物の左側のノードンは、モノワープ入口ノードンでした。(ちなみに右側はモノワープ出口ノードン)設定を見てみましょう。
右側の「何をワープする?」の設定が「なし」になっています。
ここをクリックして、
ヒトを選択しましょう。そうすれば、ヒトだけがワープしてくれます。
設定に戻るとこんな表示になってます。
ゲーム画面↓
最初と同じようにスティックを右に倒してヒトを右へ動かします。
見事!ワープの入口からワープの出口に出て、さえぎる物の右側に出てきました!やりました。
リンゴに触れてクリア!です。
チェックポイント2の攻略について
チェックポイント2になって、より算数とか数学の知識が必要になってきましたね。私は大学でプログラミングを勉強したのですが、やたら数学の授業があったことを今更納得しました。(授業名が「数学」ではなく「微分積分」とか「確率論」とか分野で分かれてて、しかも講義のあと演習があって2クラスセットで取る必要があるという地獄)
座標の知識はゲームプログラミングにはなくてはならないので、別記事をぜひ参考にしてみてください。
定数とか聞き慣れないかもしれませんが、プログラミングの世界ではよく使う用語です。
カウンターはわかりやすいですね。ワープもマリオのドカンっぽくて楽しいです。