一、【背景】
小时候对于游戏的痴迷让我对于游戏有一种心底的渴望,然而随着时间的推移阅历、经历的增加以及现在从事的编程行业似乎和游戏越来越远;在工作中对技术的要求以及未来技术的分量加上一次偶然的机会重新燃起我对游戏的渴望,不过这次的游戏并不仅仅是痴迷,而是让自己拥有一颗归零的心态在游戏编程的角度去学习那些基础的知识。
跟着马士兵教育讲解的坦克大战教程,学习完了前四节课,一个简单的坦克大战的小例子实现了;同时也伴随着产生了这一次的总结感受。
二、【过程】
学习知识点:
1.java中Frame类运用
2.键位监听
3.内部类、枚举类
4.读取相对路径文件、读取配置文件数据
5.双缓冲(重写Frame类中的update方法)
6.碰撞检测(Rectangle类的运用)
遇到的坑:
1.foreache循环向集合中放值过程中不允许动态修改(1.利用for循环 2.利用Iterator迭代器循环)
2.idea无法读取相对路径文件(idea中需要将所有静态文件放到resource文件夹下编译才会被加载到target的classes文件夹下)
3.junit 5单元测试和idea的不兼容问题(junit 5必须得再idea 17.1以上的版本中才可用)
后面学习展望:
1.设计模式的运用
2.抽象父类
3.代码重构
4.网路版坦克大战编写
实现效果图:
三、【总结】
1.通过小游戏的例子让自己的编程兴趣更加浓厚
2.巩固了自己一些基础知识以及看问题的角度
3.设计和实现双重角色更加锻炼了自己拆解需求到实现的能力
4.对于做功能之后立即出效果并且还是一种游戏的形式带给人的一种收获感的更加深度的认识与理解
注:如果想看这个小例子的源码可以直接单击链接(我会持续更新的):单击我能看到作者的源码