初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

ビジュアルプログラミング入門

16.プログラミン入門 ジャンプでよけろ その7

飛んでくる蜂をジャンプして避けるというゲームを作っています。
前回は、ゲームオーバーのメッセージを表示するしくみを作りました。
それから、スコアの文字を表示することもしましたね。

 

1. 得点に使う数値を用意しよう

スコアとして数値を表示するには、あらかじめ0から9までの文字を用意する
必要があります。
用意するとは、絵そのものをどこかに配置しておかなければいけないと言うことです。

普段はステージの外(見えない部分)に配置しておいて、必要な時だけ使用する
のがプログラミンでのやり方です。

 

スコアの「0」を9回コピーしましょう。
コピーしたものはステージの外に並べて配置します。
そして絵をかえるを使って1から9までの文字に変更します。

 

プログラミン 数を表示する仕組みのコツ

 

これで0から9までの数が使えるようになりました。しかし、
このように用意しなくてはならないのは少し面倒ですね。

 

 

2. 得点を動かすしくみとは

残念なことにプログラミンで使える機能は少ないです。
だからシンプルであり覚えやすいというメリットがあります
さらに、限られた機能の中で何ができるのか、という考える楽しみもあります。

今回、得点を動かす(加算する)しくみを紹介しますが、他のプログラミング言語では
はっきり言って使いません。
でもまあ、このような手法を経験しておくのも良いと思います。

 

それでは本題です。プログラミンには数を数える機能がありません。
なので数の絵と当たり判定を使って、数える方法を行います。

例えば0の絵に何かが当たったら1の絵に変更する。
1の絵に何かが当たったら2の絵に変更する。
というように数の絵そのものでカウントします。

 

 

3. 鐘をつく棒のようなもの

数に当てる絵を用意します。

絵は何でもかまいません。
下の画像では、ぺんぎんを使いました。
ぺんぎんを表示させたら、すごく小さくします。そして0の横へ配置します。

 

プログラミン 絵を変更する為の当たり専門の絵を用意する

 

 

小さいぺんぎんは、数値の0に当てるために用意しました。
イメージ的にはお寺などにある鐘をつく棒のような感じです。
ぺんぎんが0に当たった時、0から1へ変更するように後でプログラミングします。

 

 

4. ぺんぎんを0に当てるしくみ

ヨブーンハターンを覚えてますか?

今回もこの機能を使います。
まず、プログラムを作ってしまいましょう。しくみは後で説明します。

 

先ほどのぺんぎんにハターンをドラッグします。
ハターンの所をクリックし、そしてを選びます。

 

プログラミン 呼び出される側を作る

 

これでハターンとなりました。
にした理由ですがは犬と蜂の当たり判定で使っているからです。

 

 

ハターンの下にヒダリンをドラッグします。

 

プログラミン 左に動かすしくみ

 

 

ここでテストしてみましょう。

プログラミン 重なるかチェックする

 

ぺんぎんが左に動いて0の上まで来ればOKです。

実際には目で確認できないように早く移動させます。
秒で100左にうごかす、を
0.1 秒で 100左にうごかす、に変更します。

 

プログラミン 高速で移動させる

 

 

あと少しです。ハターンの上にヒダリンを移動して位置を入れ替えます。
そしてその上に、リセットンをドラッグします。

 

プログラミン 移動後に戻す

 

これで完成です。
しくみとしてはハターンが呼ばれたとき、ぺんぎんが左へ移動して
0の上まで来たら元の位置へ戻る、という動きをします。
移動の速度を早くしたのは、見えないようにするためです。

得点を入れたい処理の所でヨブーンを使えば、このぺんぎんが得点を変える
きっかけになるのです。

 

 

5. 得点を入れるタイミング

得点を変えるしくみは作りました。
では、このしくみを動かす(呼び出す)側を作りましょう。
これは簡単でヨブーンを入れるだけです。

 

得点を入れるタイミングですが、一番適切だと思うのは
犬が蜂を飛び越えたとき
だと私は思っています。

ただ今回は、しくみを簡単にするため蜂が画面を横断したら得点という形にします。
犬が蜂を飛び越えたかどうかの判断をプログラミンで作るのは少し難しいのです。

 

蜂のプログラムの中にヨブーンをドラッグしましょう。
位置はリセットンの上です。
ヨブーンを入れたら旗をに変更します。

 

プログラミン ヨブーンで分岐する

 

これで、蜂が左へ移動したあと最初の位置へ戻った時に得点が入るようになりました。

 

次回に続きます。