您好,欢迎光临本网站![请登录][注册会员]  
文件名称: java项目_吃豆豆_源码及文档
  所属分类: Java
  开发工具:
  文件大小: 195kb
  下载次数: 0
  上传时间: 2012-05-26
  提 供 者: cheer11********
 详细说明: 吃豆豆 一、 背景描述 在完成面向对象、Swing、线程的课程后,可以开始练习本项目的部署安排。安排本练习的主要目的理解面向对象、能够用面向对象的思路去思考问题,结合Swing和现成的知识完成本项目。 二、 实现要求 使用面向对象的方式,完成本项目。 三、 实现技术 a) 熟练使用if、for等语句进行逻辑操作。 b) 分析数据的属性和方法,能够熟练地写出该数据表示的类。 c) 使用JFrame创建一个窗体。 d) 掌握ActionListener等事件的注册、添加、操作等。 e) 使用Grahpics能够绘制一般的图形、根据需要定制自己需要的复杂图形。 四、 类图 a) 类图 b) 类图说明 类名称 BigMouthFishFrame 类描述 大嘴鱼界面类。完成大嘴鱼的界面的绘制。该类继承JFrame。 包描述 main 函数描述 public static void main(String[] args) 程序的主函数。 BigMouthFishFrame() 构造函数。构造大嘴鱼界面。 类名称 BigMouthFish 类描述 大嘴鱼类。此类继承AcitonListener,实现AcitonPerformed方法,练习ActionLis tener的另一种实现方法。此类还练习定时器Timer的使用。此类还练习图形类Graphics的使用。 包描述 fish 函数描述 public BigMouthFish() 大嘴鱼缺省构造函数.创建一个位置为(200,200),大小为50,方向为右,颜色为Color.CYAN,速度为10的大嘴鱼 public BigMouthFish(int posx,int posy,int size,int direction,Color color,int speed) 根据位置、大小、方向、颜色、速度构造一个大嘴鱼。 public void move() 大嘴鱼移动。根据鱼的方向移动鱼。 public void changeColor(Color color) 改变大嘴鱼身体的颜色。 public void changeDir(int direction) 改变大嘴鱼的方向 public void paint(Graphics g) 使用画笔绘画大嘴鱼.大嘴鱼的头像:一个扇形的是鱼脸,上面有一个小圆是眼睛1.保存画笔颜色、2.绘制大嘴鱼的脸、3.绘制大嘴鱼的眼睛、4.恢复画笔颜色 类名称 FishPool 类描述 鱼池类。大鱼和小鱼放到此鱼池中,当大嘴鱼每吃10条小鱼的时候,鱼的size加1,速度加2。每条小鱼默认存在的时间是15秒钟。10秒后自动消失。此类练习if、for、Timer、内部类等的使用。更重要的是,希望学员做这个的游戏时候能做好严谨的逻辑考虑后,再动手。难点:大嘴鱼在鱼池边界的处理、大嘴鱼升级时的相关问题的处理。 包描述 fish 函数描述 FishPool() 鱼池的缺省构造函数。此处需要完成上下左右键的注册功能。 private void initFishBean() 初始化小鱼。保证小鱼生成的位置与大嘴鱼的位置不重叠。 private void beanNewPos() 小鱼重新生成新位置。保证小鱼生成的位置与大嘴鱼的位置不重叠。 public void paint(Graphics g) 覆盖JLabel的paint事件。 private void bigFishMove(int direction) 大嘴鱼的移动。根据大嘴鱼嘴的方向,判断其是否到了鱼池边界(此处为难点)。 private boolean isTouched() 检测大嘴鱼是否吃到了小鱼。 内部类 private class RightListenerImpl extends AbstractAction 内部类 - 向右按键事件。 private class DownListenerImpl extends AbstractAction 内部类 - 向下按键事件。 private class DownListenerImpl extends AbstractAction 内部类 - 向下按键事件。 private class LeftListenerImpl extends AbstractAction 内部类 - 向左按键事件。 private class TimerListenerImpl implements ActionListener 内部类 - 图形重回事件。 类名称 FishBean 类描述 豆豆类 包描述 fish 函数描述 public FishBean() 缺省构造函数。按位置(190,190),大小10,颜色Color.MAGENTA构造一个豆豆。 public FishBean(int posx,int posy,int size,Color newColor,Color oldColor) 按照位置、大小、颜色构造一个豆豆类。 public void newPos(int posx,int posy) 移动豆豆到新的位置。 public void paint(Graphics g) 绘制豆豆。 public void stopTimer() 停止Timer。 public void runTimer() 启动Timer。 public void actionPerformed(ActionEvent e) 定时器事件。 public boolean timerIsRunning() Timer定时器是否运行中。 类名称 FishUtilities 类描述 检测大嘴鱼和小鱼碰撞类。此类练习Math的静态函数的使用。 包描述 tools 函数描述 public static boolean isInteraction(BigMouthFish fish,FishBean bean) 返回大嘴鱼是否吃掉了小鱼。方式:检测2鱼(圆)之间是否相切或相交。判断2圆心之间的距离小于2圆半径之和。此处判断小于大嘴鱼的半径即可。让大嘴鱼可以吃掉小鱼。 类名称 RandomUtil 类描述 数学类-随机数生成类 包描述 tools 函数描述 public static int randomInt(int a,int b) 生成a-b的随机数 public static int randomInt(int a) 返回0-a的随机数。 c) 程序效果图 五、 技术技巧提问 a) 大嘴鱼的绘制,如何使其定时张开与闭合。 使用定时器Timer,定时绘制某角度的扇形大嘴即可。 b) 大嘴鱼移动到边界时的碰撞如何检测? 如大嘴鱼向左移动时检测移动后的x坐标值是否小于左边界坐标即可。 六、 附加说明 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: