【Scratch】抵抗器カラーコード計算機をつくったときのはなし

抵抗器のカラーコードを入力すると抵抗値を教えてくれます。
イラストの白い部分からプルダウンで4つの色を選びます。
スペースキーを押すと計算結果を表示します。

ゲームにとどまらず身近なものの便利ツールをすぐに試作できるのもScratchの面白いところですね。

友人との会話からゲームを作ったときのはなし

矢印キーで移動。
スペースキーで攻撃。
魚を倒すとスコア+5。ときどきアイテムを落とします。

川を流れていく子猫というキーワードから発想を広げて作りました。
こだわったポイントは以下の通り。
・シンプルなルール
・徐々に高くなる難易度
・終盤に向けての攻略性
・音声以外の素材の自作
身内向けに作ったのでボスが内輪ネタですが、気軽にアイデアを実現できるのがゲームづくりの楽しいところですね。

変数がざっくりわかるはなし

 プログラムをつくる上でほぼ避けて通れない概念の1つ、「変数」についての記事です。

 先にざっくりしたイメージでいうと
変数コップみたいなものです。

 コップは中に色んな量の水を入れておけます。
 変数の機能はシンプルにただそれだけなのです。大きく2つにわけてまとめてみました。

①量を変える
 水の量を増やしたり減らしたりできるように、変数の数値も変えることができます。+10したり100ぴったりにしたりという命令ができます。

②量を読み取る
 水がどのぐらい入っているか測ることができるように、変数の数値も読み取ることができます。注意したい点は水の量を変えてしまうとさっきまでの量がわからなくなることです。逆算しない限り今の量しか読み取れません。

 プログラムではこのコップ同士を比べたり、その結果に応じて命令を変えたりして変数を利用します。活用法は色々あるのですが、最初はざっくりコップのようなものだと思っていただければ大丈夫です。

座標と次元がざっくりわかるはなし

 ゲーム作りではとても重要な概念の1つ、「座標」についての記事です。

 先にざっくり言ってしまうと、
座標とは「ココ!」を正確に伝えるための決まりです。

 意味がわからないと思うので噛み砕いていきます。
 あなたは今まっすぐな一本道を歩いているとします。駅から伸びる道沿いには建物が並んでいますが、どれがゴールかわかりません。しかし「駅から50m」という情報を持っていればどうでしょう。これならなんとなくわかるかもしれません。
 もし駅に立てる看板に何の図もなく「ココ!」という文字しか書かれていなかったら誰もゴールできません。でも看板に「この先50m」と書いてあればみんなゴールできそうですね。この50mのように数値で伝えることができるのが座標です。

 続いて今度は下の地図のようなゴールを看板で伝えてみましょう。

  トータル80mでも交差点がいくつかあればどこで曲がっていいかわからなくなってしまいそうです。 30mと50m、どうしても2つの数値が必要になりそうです。このようにそれぞれ別の意味を持つ2つの数値が必要になるものを二次元と呼んだりします。逆に言うと「平面上のココ!」は2つの数値だけで伝えることができるのです。

 さて、ゴールに到着しても建物が40階建てのビルだとしたらどうでしょうか。高さを伝える必要がありますね。今度は第3の数値として「何階か?」という情報があれば良さそうです。こうなると別の意味を持つ数値が3つになったので三次元です。二次元のときと同様に「空間上のココ!」3つの数値があれば伝えることができます。

 このように数値で伝えるための決まりが座標です。
 実際はもっと少ない情報で正確に伝わるように単位を統一したり符号を付けたりします。次元は英語でDimension【ディメンション】なので2D、3Dなんて呼んだりもします。
 冒頭に書いた 「ココ!」を正確に伝えるための決まりという意味がなんとなくイメージできていれば幸いです。