网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
tankwar,坦克世界吧,tankwar吧,坦克大战2012无敌版,tankwar独立游戏,坦克世界大战,坦克战,装甲精英2战争沙丘,坦克世界,tank

Tank War 手把手、一行一行演示项目制作 项目的需求 单机版程序演示 能够四处移动 能够打击敌人 敌人能够移动 能够模拟爆炸 能够产生障碍 能够增长生命 自我介绍 项目的针对对象 初步掌握了J2SE的同学 掌握了常用的一些类 掌握了常用的一些知识点 写过一些学习的程序(toy program) 学习方法 不必太关注细节 不必非得把某个类所有的细节全了解清楚再动手 不必追求完美 关键是要写完,要想方设法让它运行起来 量变引起质变 做这个项目是为了 复习J2SE,综合运用J2SE所学的知识 初步掌握面向对象编程的基本思想 掌握Eclipse开发J2SE程序的基本方法 初步掌握Eclipse调试程序的方法 掌握编程时一些约定俗成的东西 命名/格式 等 掌握一些常用的编程方法 getters setters 持有对方引用 定义常量 保留程序版本 学会版本比较 激发大家的学习兴趣 做这个项目不是为了 不是为掌握软件工程的系统理论 瀑布式 螺旋递增式 不是为了掌握专业游戏的开发方法 不应用专门的Game API 不是为了掌握专业的设计模式 没有刻意去应用设计模式 项目的注意事项 要敲,一定要动手敲,要一行一行跟着敲 看会或者听懂都不算掌握了程序 只有写出来才能证明你真正的掌握 不要照抄,不要记我做程序的步骤 要掌握思路 项目所用的工具 eclipse 3.2 JDK5.0 或以上 泛型在5.0后才得到支持 项目的预备知识 J2SE基础知识 面向对象 I/O 多线程 GUI初步 事件模型 版本0.1 功能: 产生一个窗口 掌握: 通过Eclipse建立新的项目 为新的项目指定不同的源代码和输出目录 指定项目所用的JDK版本 通过Eclipse建立新的类 注意: 类名和方法名的命名 见名知意 类名首字母大写 方法名、变量名首字母小写 应用驼峰标识 版本0.2 功能: 添加关闭窗口的事件处理 不允许窗口的大小改动 掌握: 匿名类的用法 思考:匿名类的应用场合? 类短小、不涉及将来的扩展、不涉及重要的业务逻辑 通过Eclipse重写父类的方法 注意: 没掌握匿名类的先照抄,不写也行 不影响最后的运行效果 版本0.3 功能: 画出代表坦克的实心圆 掌握: 如何重写paint方法 注意: 不要改变原来的前景色 回顾: paint(Graphics g)方法,窗口重画时自动调用 x轴、y轴的方向 版本0.4 功能: 让坦克运动起来 步骤: 将位置改变为变量 启动线程不断重画 思考:为什么使用线程重画,而不是每按下一个键进行一次重画? 线程重画更均匀,更能控制重画的速度。 按键重画不能解决子弹自动飞行的问题。 每次重画改变Tank位置 掌握: 内部类的使用 思考:内部类有哪些好处?什么时候使用内部类? 可以方便的访问包装类的方法。不方便公开的,只为包装类服务的类应当定义为内部类。 注意: x, y值得含义,指的是小方块的左上角点 版本0.41 功能 使用双缓冲消除闪烁现象 原因 刷新重画频率太快,paint方法还没有完成 逐条显示 解决办法 将所有东西画在虚拟图片上,一次性显示出来 注意 如果不能理解透彻就照抄本版本代码,不影响对J2SE的练习功效 思考 把游戏窗口的大小改变为640 X 480? 定义常量以应付将来的改动 版本0.5 功能: 代码重构 将以后可能需要多处改变的量定义为常量 Frame的宽度和高度 常量名一般大写 注意: 常量一般是public static final的。 版本0.6 功能: 让坦克听从我们的指挥 添加键盘监听器类KeyMonitor TankCient添加键盘监听器 针对不同的键改变坦克的位置,与重画线程结合产生不同方向运动 注意: switch case语句中break语句的运用 写程序要循序渐进 思考 增加100辆坦克到游戏中 版本0.7—重要版本 功能: 将坦克单独包装成类 步骤: 建立Tank类 为Tank类添加成员变量x y 添加draw方法,使Tank类独立控制自己的画法 添加Tank类处理按键的方法 根据Tank类修改TankClient类 掌握: 面向对象的思考方法 细节隐藏、构建单独的类、首先考虑系统中有哪些类 合适的方法应该出现在合适的类中 思考 如何让坦克向8个方向行走? 版本0.8 功能: 让主战坦克向8个方向行走(1) 步骤 添加记录按键状态的布尔量 添加代表方向的量(使用枚举) 根据按键状态确定Tank方向 根据方向进行下一步的移动(move) 版本0.9 功能: 让主战坦克向8个方向行走(2) 步骤 处理键抬起的消息 修改TankClient相关代码 版本1.0 功能 添加子弹类 步骤: 添加Missile类 添加x,y,dir等属性以及常量 添加构造方法, draw方法等必

文档评论(0)

ajgoaw + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档