js实现鼠标控制炮台效果(2020年10月8日)

说明
大二上学期国庆节在图书馆下午所做,基于一定的js基础,想利用定时器函数等方法写出发射炮台的效果。所有效果和代码均为独自设计,未参考相应项目。代码的设计、格式、结构、以及算法、数学公式还有很大的改进和提升空间。在此先记录一下。
操作和使用
wasd
键移动炮台位置鼠标移动到某一位置并点击,可以让炮台发射炮弹
发射炮弹的速度和点击位置距炮台中心点的距离成正比
效果图

源代码
待改进
移动很卡顿,没有游戏的那种物理驱动的感觉
鼠标位置转化成炮台瞄准角度时公式选用不好,在垂直位置时会卡顿一下