株式会社リサイクルループ

ブログ

回収依頼お問合わせ

株式会社リサイクルループ

回収依頼

MENU

【HSPプログラミング講座#13】ボールが画面端に衝突したら跳ね返してみよう

プログラミング講座アイキャッチ

今回のプログラムはボールが画面端まで来たら跳ね返るようなプログラムを作ってみたいと思います。ゲームでもよく見かけますよね!? 何かが壁にぶつかったら跳ね返ってくるような場面が。 当たり判定と言われる処理です。 まずはボール1個で跳ね返るプログラムを作ってみましょう!

HSPプログラミング_ボール跳ね返り01

では解説していきます。3~6行目までは変数を用意して、その中に数字を入れています。X_BALL変数とY_BALL変数はスタートするときの座標です。X_SPEED変数とY_SPEED変数は、ボールが移動する速度ですね。

その後は1000回のループ処理をしています。ボールが1000回分移動したらプログラムが終了しますよ。

9行目の「wait命令」で動作速度を遅くしています。目にも止まらぬ速さですから、少し調整しないとね。あっという間にプログラムが終わってしまいます。

10~12行目の処理は cls で画面を消去して、前回のボールの映像を消してから、新しい位置を pos で設定しています。そして mes で新しい位置にボールを表示しています。 この処理は度々出てきているのでわかりますよね!?

13~14行目は次に来るボールの位置を設定しています。今の座標からxとyそれぞれのスピードを足してから、座標位置を書き換えています。

15~18行目が今回のポイントです。まず15行目だけ見てみましょう。「現在のx座標の位置が630よりも小さくなったらスピードを反転する」という意味になります。 新しく出てきたのは変数の前にマイナス記号をつけて「 -X_SPEED 」と書いてありますね。これが出てくる度に今の値がプラスだったらマイナスに、マイナスだったらプラスに変換してくれます。630という数字は画面の右端のx座標です(適当ですけど)。 16行目の460の値も同じように画面下のy座標の端っこあたりです。

17~18行目も、ほぼ一緒ですね。数字の0は画面の端っこを指しています。

さぁ、このプログラムを書いて実行してみてください。画面端でポンポン跳ね返って楽しいですよね。