<坦克大战Java>开发中遇到的问题

来源:互联网 发布:人工智能 国家战略 编辑:程序博客网 时间:2024/05/05 15:15


01_编程方法问题

螺旋增加式:从0到1,不要急

脚踏实地: 不求快,只求能编出想要的结果,多打印,多显示


02_子弹发射数量问题

如果只是在fire方法中new一个missle,则玩来玩去只是一枚导弹

我们这时需要用容器。

在Yard类属性中添加一个ArrayList<Missle>导弹链表,然后在paint重写方法中将其遍历,画出每一个missle对象

当然,我们也要在Tank方法中调用Yard的引用,在getKeyPressed方法里用fire方法为他add新炮弹(新元素)


03_子弹暂停问题

在Tank类中设置一个炮筒方向

让炮筒方向一直与坦克的最终方向(stop除外)相同, 需要在LocationDir()中逐一设置


04_坦克八个方向问题(较优解决方案)

属性:

Boolean bL = false, bR false, bU = false, bD = false; //是否朝向x方向

Dir dir = stop;//设置坦克初始方向

方法:

void getKeyPressed(KeyEvent e)     // 处理Yard类的keylistener方法中监听到的按键盘事件keyevent

switch语句根据按键判断四个方向布尔值是true;

另外在VK_SPACE情况下调用fie方法,给容器填导弹;


void getKeyReleased(KeyEvent e)   // 处理Yard类的keylistener方法中监听到的松键盘事件keyevent

switch语句根据松键判断四个方向布尔值是false;


void LocationDir()      // 根据两个getKey方法确定最终坦克方向

switch语句套用if  同时根据四个方向布尔值判断 将”坦克方向“赋值为八个方向之一;

每个if内(stop除外),在顺便把大炮方向赋值;


void move()   // 根据坦克方向,移动坦克坐标


这里用到到的布尔值真的很酷



 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为p10费电怎么办 华为mate10卡顿怎么办 荣耀v9拍照模糊怎么办 华为电脑开不了怎么办 华为5x内存不足怎么办 2g电脑内存不足怎么办 电脑内存不够用怎么办 海信电视存储空间不足怎么办 支付宝学校没有怎么办 支付宝没有学历怎么办 华为p9gps信号弱怎么办 小米手机wifi慢怎么办 小米wifi网速慢怎么办 华为mate9网络差怎么办 大王卡信号差怎么办 华为P9Plus忘记密码怎么办 华为手机音质差怎么办 三星c5手机发烫怎么办 华为手机老卡怎么办 小米手机慢卡怎么办 华为指纹识别不灵敏了怎么办 金立手机信号不好怎么办 手机边框坏了怎么办 手机保护膜划了怎么办 车膜贴的有气泡怎么办 手机膜进气泡怎么办 贴的手机膜翘角怎么办 全屏膜出现气泡怎么办 手机膜的气泡怎么办 透明手机壳气泡怎么办 钢化膜边缘有气泡怎么办 贴钢化膜边缘有气泡怎么办 钢化膜边上有泡泡怎么办 贴钢化膜周边有气泡怎么办 钢化膜里面有气泡怎么办 手机保护膜破了怎么办 手机触摸屏没反应怎么办 苹果手机触屏坏了怎么办 手机边缘有气泡怎么办 手机膜有空气怎么办 电脑膜有气泡怎么办