经典坦克大战再现(二)

承认错误

不好意思我承认我鸽了一天,这一切都是因为我这不争气的眼镜,它该换眼镜了。昨天调了快一下午的代码,就是因为获取图片的时候路径里面少敲了个s导致自己没查出来光在逻辑代码里面找错误,钻进了牛角尖就再没出来…看着这红色的报错,我心态崩了啊
在这里插入图片描述
就当我想要重写时, 突然意识看到左侧的项目栏就想到路径是不是对的,这一查都人都傻了,左侧的images和代码里的image…啊啊啊啊啊啊啊啊!!“啪!”

好了。冷静下来直接上成果

成果展示

在这里插入图片描述

这其实只是其中前面部分完成的结果,实际上还完成了敌方坦克的增设和敌方坦克发射子弹以及玩家的坦克能够摧毁敌方坦克的功能,由于我懒所以就没做GIF图,放在下次补上。

项目过程分析

//总结一下这三天项目的事项过程
1. 如何定义主战坦克的方向
	a. Enum Dir
2. 根据按键改变主战坦克方向
	a.setMainTangDir()
3. 根据方向进行坦克的移动
4. 怎么处理坦克的静止
	a. moving = false;
5. 想象如何给出更多坦克
	a. 将坦克封装成类,理解面向对象设计中的“封装”的意思
6. 用双缓冲解决闪烁问题(不重要)
	a. repaint - updata
	b. 截获updata
	c.首先把该画的东西(坦克、子弹)先画在内存的图片中,图片大小与游戏画面一致
	d. 把内存中的图片一次性画到屏幕上(内存的内容复制到显存)
7. 打出一颗子弹
	a. 按下Ctrl键,主战坦克打出一颗子弹
	b. 用面向对象的思想思考
8. 打出一颗子弹
	a. 将子弹装在容器中
9. 将坦克换成图片
	a. 关于ClassLoader的基础知识
	b. 显示图片,使用ImageIO
	c. 
10.将子弹换成图片
11. 将子弹从中心位置打出(由于图片大小原因子弹位置并不是很精确,有时间我自己画一套精确的图片)
	a. 根据坦克图片大小和左上角位置计算子弹左上角的位置
12. 加入敌军坦克
	a. 分拨Group
13. 子弹与敌军坦克碰撞检测
	a. 击毁一辆坦克
14. 显示爆炸(Continued)
15. 加入爆炸声音(Continued)
16. 加入多辆敌军坦克
17. 让敌军坦克动起来(Continued......只是一个方向动)

总结

项目离我心目中的目标越来越近了也越来越难了,我觉得在会的前提下最重要的是要思考并且细心,一个微小的错误可能让自己很烦躁摸不着头脑,编程没有捷径,多动手才能掌握,要细心耐心专心,加油!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值