戦車の攻撃Aを実装した

・x1 = 攻撃した敵のマップ上のx
・y1 = 攻撃した敵のマップ上のy
・dx = (PCのマップ上のx - x1) / 弾の速度
・dy = (PCのマップ上のy - y1) / 弾の速度
・最大フレーム数 = 最大(絶対値(dx), 絶対値(dy))

弾の発射時に、発射位置(x1, y1)と
PCとの相対座標(dx, dy)と
PCと衝突するまでの最大フレーム数を
求めて置く

・フレーム数 = 0...最大フレーム数
・弾のx = dx * フレーム数 / 最大フレーム数 + x1
・弾のy = dy * フレーム数 / 最大フレーム数 + y1

フレーム数をインクリメントしながら
弾のマップ上の座標を計算して、描画処理に渡す
こうするとsin, cos, tanの重い処理を省ける

弾がPCに当たらなかった場合は
そのままフレーム数を増やして行って
壁にぶつかったら消す
最大フレーム数を越えても問題無い

実際は弾の速度を半分にして
移動と当たり判定を2回分実行する事で
壁のすり抜けを防ぐ