前回は、画面上にキャノンを配置した。キャノンを配置したからには、砲弾を撃たなくてはいけない。今回は、敵めがけて砲弾を撃ってみよう。 弾道の角度を求める 砲弾を撃つために必要な情報を考えてみよう。まず前提として、砲弾はキャノンから敵に向かって一直線に撃つものとする。ということは、砲弾を発射するタイミングでの、キャノンの位置と敵の位置が分かれば、充分なはずだ。砲弾の初期位置はキャノンの座標になり、そこからステップ毎に敵に近づけていく。 では、1ステップにおける砲弾の位置の増加分はどうやって計算するのだろうか。このときに必要となるのが、キャノンと敵との間の角度である。角度の計算は、今回の場合は2点の座標が分かっているので、アークタンジェントを使う。角度さえ分かってしまえば、sinおよびcosを使って、増加分を計算することができるはずだ。 この計算式を実装したソースコードを紹介しよう。ここでは、c