今回は3種類の敵が必要なので、「水色」の敵は「0」、「緑色」の敵は「1」、「黄色」の敵は「2」とします。最大発射数を「3」にし、敵が弾を撃てるように「Bullet」クラスのインスタンスを保持させます。敵の描画位置を設定します。幅・高さ敵を矩形で表現するので、「幅・高さ」を設定します。角度・速度(ベクトル)敵の進行方向と速度を設定します。カウンタ敵が弾を撃つ間隔を決定するのに用います。敵を動かす敵は壁にぶつかることで跳ね返り、それによって進行方向が変化するようにします。跳ね返るのではなく、入射角と反射角が等しくなるように跳ね返らせます。2\theta\)速度を上げて難易度を上げる上手い人であれば、永遠にゲームオーバーしない可能性があるので、いつか終わるように速度を毎回少しずつ上げていきます。敵を描画するそれでは敵を描画していきます。実行してみてわかったと思いますが、敵が扇状に移動していくのがわかると思います。これを実装する上で若干の数学の知識が必要になるので、解説をします。\frac{5\pi}{6}\))」の方向に進むとし、この基準から「\(\theta\)」ずつ区切っていくことで扇状に移動させます。敵に弾を撃たせるプレイヤーの時と同様に「shot」関数を作成します。敵は20カウントずつ1発発射します。最大発射数(3発)を超えた場合は、発射されていない弾ができるまで新たに発射することはできません。ループ}最後に弾の描画をして、これで敵の処理ができました。次回はゲームの完成をしていきます。このテトリスにおいて、何もないマスは「0」、壁を「9」とし、それ以外の数字をブロックとします。今、ブロックが壁・ブロックに着地した段階までできました。「update」関数内の「30カウントずつ」という「if」文に新たな条件文を付け加えます。プレイヤーの処理を実装するにあたって、このプレイヤークラスを用いてプレイヤーの情報を管理していきます。色の値は以下のように定数として用意します。コメントをキャンセルメールアドレスが公開されることはありません。R1カテゴリーJavaJavaFXJavaScriptPythonRこのサイトの管理人IT系だんしプログラミングが大好きな人。趣味でゲームやツール製作をしながら、プログラミング記事を書き続けています。