【初心者】ブロック崩しゲームを自分で作ろう!

ゲーム

クラシックなアーケードゲーム「ブロック崩し」を作っていきます。
遊び方は、パドルでボールを打ち返し、ブロックをすべて消せばゲームクリアです。
ボールは3個、ボールを打ちそこなったら、ボールが1つ減ります。

キャラクターの動かし方、当たり判定の基本を学べます。

キャラクターはボール、ブロック、パドル

3つのスプライトを使います。
それぞれ「パドル」「ブロック」「Ball」と名前を付けます。
Ballはあらかじめ用意されている物を使います。
パドルとブロックは四角い箱を自分で作画してください。

変数

変数は2つ、
「のこり」ボールの残り数
「ブロックの数」ブロックの総数、ゲームクリアの判定に使います。

パドルを左右に動かす

パドルを動かすには左右のキーに応じて5歩動かします。
歩数を変えれば難易度が変わります。

クローンでブロックを並べる

プログラムを開始とともにブロックを並べます。
ブロックの大きさに合わせて、間隔は調整してください。
ゲームクリア判定のためにブロックの数を数えます。
次々にクローンを生成していけばブロックの壁が完成します。

各クローンブロックのプログラムです。
当たり判定のテクニックを使います
ボールがブロックに触れると、ボールから全ブロックに当たり判定メッセージを出します。
各ブロックは自分がボールに触れている場合だけブロックを消します。
この理由は先にブロックを消してしますと、ボールはブロックに当たったことが分からず跳ね返ることができないためです。

はね返るボールの動き

ボールの本体は隠して、クローンを動かすことにします。

ボールを動かすプログラムです。
ボールの速さは5とします、難易度に合わせて調整してください。
ボールとパドルが当たった時の跳ね返り方を工夫します。
端に当たるほど、角度がついて跳ね返るようにします。
当たった時にx座標のズレを計算します「x座標-パドルのx座標」
このズレを新しい角度にします。中心に当たった場合0度、つまり真上になります。
端に当たると30ぐらいなので30度の方向になります。

ブロックに当たった時は先にブロックを消したいので、当たり判定を送ります。
ブロックブログラムの当たり判定テクニックを参照してください。


パドルに当たらずボールが下に落ちた時のプログラムです。
のこりボールを1個減らしてゲームオーバーか継続か判定します。

ブロックが全て消えたら、ゲームリアメッセージを受け取ります。

まとめ

ブロック崩しの基本プログラムを解説しました。
ブロックの量や配置を変えたり、ボールの速度が速くしたり、プログラムを改造してみてください。

コメント