TankWar单机版开发详解.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TankWar单机版开发详解

TankWar单机版开发详解 1.做这个项目是为了: 为了复习J2SE的内容,综合运用J2SE所学的知识 掌握面向对象的基本思想,了解项目开发的整个过程 掌握MyEclipse开发J2SE程序的基本方法 掌握MyEclipse调试程序的基本方法 掌握编程时一些约定俗称的东西 命名/格式等 掌握一些常用的编程方法 getters setters 持有对方引用 定义常量 保留版本程序 学会版本比较 2.需求分析: 能够四处移动 能够打击敌人 敌人能够移动 能够模拟爆炸 能够产生障碍 能够增长生命 3.版本0.1 新建一个工程,命名为TankWar0.1,然后新建一个类TankClient,这是包含main方法的主类。TankClient从Frame类继承,在TankClient类中定义一个方法launchFrame,在该方法中确定窗口的位置和大小。代码如下: import java.awt.*; public class TankClient extends Frame{ public static final long serialVersionUID = 1L; public void launchFrame(){ this.setLocation(400,300); this.setSize(800,600); this.setVisible(true); } public static void main(String[] args) { TankClient tc = new TankClient(); tc.launchFrame(); } } 该版本的功能是:产生一个窗口。 掌握:通过MyEclipse建立新的项目;为新的项目指定不同的源代码和输出目录;指定项目所用的JDK版本;通过MyEclipse建立新的类。 注意:类名和方法名的命名。 要剪名知意;类名首字母大写;方法名,变量名首字母小写;引用驼峰标识。 4.版本0.2 该版本要实现的功能: 添加窗口关闭的事件处理 不允许窗口大小改变 掌握: 匿名类的用法 匿名类使用在类短小,不涉及将来的扩展,不涉及重要的业务逻辑 通过MyEclipse重写父类方法 添加事件处理需要导入java.awt.event.*;这个包,窗口关闭有两种方法可用,如果TankClient从JFrame继承(当然要导入javax.swing.*),那么在launchFrame方法中只需写这样一条语句就可以了: this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 如果TankClient从Frame继承,添加窗口关闭的方法是: this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); 不允许改变窗口大小用下面语句: this.setResizable(false); 标题栏的文字设置:this.setTitle(TankWar); 5.版本0.3 功能:画出代表坦克的实心圆 掌握:如何重写paint方法 注意:不要改变原来的颜色 paint(Graphics g)方法,窗口重画时自动调用。桌面的左上角为(0,0)位置,向右代表x轴,向下代表y轴,画圆时涉及到4个参数,分别代表起始位置的x值和y值,长度和宽度,圆为该正方形的内切圆。 双击TankCLient,点击右键,选择Source,Override/Implements Methods,重写paint方法,系统将自动生成一些源码,在paint方法里面,我们添加下面代码: Color c = g.getColor();//去的当前颜色 g.setColor(Color.red);//设置绘画笔颜色 g.fillOval(50, 50, 30, 30); g.setColor(c);//设回原来颜色 改变一下背景颜色,在launchFrame中添加: this.setBackground(Color.green); 6.版本0.4 功能: 让坦克运动起来 步骤: 将位置改变为变量 启动线程,不断重画 思考:为什么实用线程重画,而不是每按下一个键进行一次重画? 线程重画跟均匀,更能控制重画的速度 按键重画不能解决子弹自动飞行的问题 每次重画改变坦克的位置 掌握: 内部类的使用(内部类可以很方便地访问包装类的方法,不方便公开的,只为包装类服务的类应当设置为内部类) 注意:x,y值的含义,指的是小方块左上角

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档