ブロックの位置と大きさをランダムに変えよう
ここまでで、だいぶゲームらしくなってきました。
次は、ブロックの位置と大きさをランダムに変えることで、よりゲームらしくしていきましょう。
現在、ブロックはゲーム画面の真ん中を動いているだけです。
そこで、ブロックが出現する位置をランダムに変化させ、さらに大きさも変えてみましょう。
まず、ブロックの初期位置を画面右側に変えておきましょう。
setup
関数内で、変数 block
に値を代入しているところを、次のように変えてください。
block = { x: 450, y: 200, w: 30, h: 30 };
x
を450にしました。
これにより、ゲーム起動時のブロックの位置は画面右の外側になります。
さてここからが本題です。
ブロックが画面左に消えてから画面右に復活させる際に、位置と大きさをランダムに変えてみましょう。
ランダムに変えるを実現するには、乱数を使います。
乱数について詳しく知りたい方は、以下の入門コースの解説をご覧ください。
乱数とは - 入門コース
それでは、updateGame
関数内で、ブロックを復活させる処理の部分を次のように変更してください。
if (block.x < -block.w / 2) { block.x = 400 + block.w / 2; block.y = random(0, 400); block.h = random(30, 100); }
乱数を使って、ブロックのY方向の位置と高さをランダムに変えています。
block.y = random(0, 400);
この部分で、ブロックのY方向の位置を0〜400のランダムな値にしています。
block.h = random(30, 100);
この部分で、ブロックの高さを30〜100のランダムな値にしています。
ゲームを起動してみましょう。
ブロックが画面左に消えて画面右に復活すると、位置と大きさがランダムに変わるようになったと思います!