JAVA吃豆豆项目报告

上传人:工**** 文档编号:487140243 上传时间:2024-02-21 格式:DOC 页数:16 大小:156.01KB
返回 下载 相关 举报
JAVA吃豆豆项目报告_第1页
第1页 / 共16页
JAVA吃豆豆项目报告_第2页
第2页 / 共16页
JAVA吃豆豆项目报告_第3页
第3页 / 共16页
JAVA吃豆豆项目报告_第4页
第4页 / 共16页
JAVA吃豆豆项目报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《JAVA吃豆豆项目报告》由会员分享,可在线阅读,更多相关《JAVA吃豆豆项目报告(16页珍藏版)》请在金锄头文库上搜索。

1、滨江学院 Java程序设计实习报告题 目 大嘴鱼游戏 专 业 计算机科学与技术 年级班级 计科2 学 号 20112308053 学生姓名 刘松 学 期 2015-2016 任课教师 方忠进 1 项目简介1.1项目意义实现小时候PC上经典游戏,大嘴鱼。练习JAVA基础技能。掌握图片绘制方法,刷新方法。以及多线程的使用,文件读取与操作,字符串的分析等诸多技能。完成课程设计。1.2项目说明大嘴鱼游戏规则介绍:无需开始,使用键盘的上,下,左,右键控制大嘴鱼的方向,每吃1条小鱼,得分加1分。每吃10条小鱼,大嘴鱼将升级:大小加1,速度加2。游戏操作:启动系统,游戏开始,按上下左右键控制大嘴鱼的移动方向

2、。 1.3关键技术本项目采用JAVA编程语言进行开发。使用JFrame做窗体,Graphice做画笔绘制图形。其中关键技术包括:1、画面的绘制与更新 。2、小鱼自动刷新的设计 。3、大嘴鱼方向的控制 。4、小鱼被吃掉以及碰撞的检测 。5、更新大嘴鱼得到的分数。6、地图的生成与制作7、地图集的解析8、碰撞检测的代替2总体设计2.1主类设计主类界面类小鱼大嘴鱼资源类地图类行走路径类2.2游戏功能的设计大嘴鱼在吃到小鱼后会升级,速度加快。每吃10条小鱼,大嘴鱼将升级:大小加1,速度加2。3详细设计与实现3.1大嘴鱼的设计首先生成创建imgae,获取image的画笔Graphics,利用Graphic

3、s完成游戏界面的绘制。Food类的绘制,遍历Food集合,向Food类的paint方法传入画笔。绘制大嘴鱼,小鱼。Food对象用自身方法绘制自己。另绘制积分字段,根据游戏时长绘制游戏状态。最后讲image画入Frame中,完成界面的绘制过程。 Frame继承了Runnable方法,在其run方法中,每30毫秒,调用repaint方法,重绘场景,完成地图场景的刷新。/* * (#)fish.BigMouthFish.java 2008-7-31 * Copy Right Information: Tarena * Project: fish * Comments: 大嘴鱼类 * Version:

4、 1.0 * SrDateModified ByWhy & What is modified * 1.2008-7-31 小猪 新建 */package fish;import java.awt.Color;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Timer; /* * 大嘴鱼类 * 此类继承AcitonListener,实现AcitonPerformed方法,练习ActionListener的另一种实现方

5、法 * 此类还练习定时器Timer的使用 * 此类还练习图形类Graphics的使用 * 2008-7-31 * author达内科技Tarena Training Group * version1.0 * sinceJDK1.6(建议) */public class BigMouthFish implements ActionListener/* 大嘴鱼嘴的方向:0-上 */public static int UP = 0;/* 大嘴鱼嘴的方向:1-右 */public static int RIGHT = 1;/* 大嘴鱼嘴的方向:2-下 */public static int DOWN

6、= 2;/* 大嘴鱼嘴的方向:3-左 */public static int LEFT = 3;/* 大嘴鱼的身体大小,以size为半径画圆 */public int size = 50;/* 大嘴鱼现在的方向(以嘴的方向为基准) */public int direction = RIGHT;/* 大嘴鱼身体的颜色 */private Color color = Color.CYAN;/* 大嘴鱼的位置x */public int posx = 80;/* 大嘴鱼的位置y */public int posy = 80;/* 大嘴鱼的速度,鱼每次前进的像素 */public int speed

7、= 4;/* 大嘴鱼眼睛的大小 */private int eyesize = size/5;/* 大嘴鱼眼睛的位置x */private int eyeposx = posx+size/2;/* 大嘴鱼眼睛的位置y */private int eyeposy = posy+size/5;/* 大嘴鱼眼睛的颜色 */private Color eyecolor = Color.RED;/* 大嘴鱼嘴的最大角度的一半 */private int maxMonth = 30;/* 大嘴鱼现在嘴角的角度 */private int monthsize = 30;/* 大嘴鱼的嘴是否张开 */priv

8、ate boolean isOpen = true;private Timer time = null;/* * 大嘴鱼缺省构造函数. * 创建一个位置为(200,200),大小为50,方向为右,颜色为Color.CYAN,速度为10的大嘴鱼 */public BigMouthFish() /this的使用。this(200,200,50,RIGHT,Color.CYAN,4);/* * 根据位置、大小、方向、颜色、速度构造一个大嘴鱼。 * param posx 大嘴鱼的位置x。 * param posy 大嘴鱼的位置y。 * param size 大嘴鱼的大小。 * param direct

9、ion 大嘴鱼的方向:0-上;1-右;2-下;3-左。出入错误时,默认改为1。 * param color 大嘴鱼的颜色。 * param speed 大嘴鱼的速度。 */public BigMouthFish(int posx,int posy,int size,int direction,Color color,int speed) this.posx = posx;this.posy = posy;this.size = size;if(direction=1 | direction=2 | direction=3 | direction=4)this.direction = direc

10、tion;this.color = color;this.speed = speed;eyesize = size/7;initEye();time = new Timer(FishPool.reTime,this);time.start(); /* * 大嘴鱼移动。根据鱼的方向移动鱼。 */public void move()switch (direction) case 0:posy-;break;case 1:posx+;break;case 2:posy+;break;case 3:posx-;break;default:break;/* * 改变大嘴鱼身体的颜色。 * param c

11、olor 欲改变大嘴鱼身体的颜色 */public void changeColor(Color color)this.color = color;/* * 改变大嘴鱼的方向 * param direction 欲改变大嘴鱼的方向 */public void changeDir(int direction)this.direction = direction;/* * 使用画笔绘画大嘴鱼.大嘴鱼的头像:一个扇形的是鱼脸,上面有一个小圆是眼睛 * 1.保存画笔颜色 * 2.绘制大嘴鱼的脸 * 3.绘制大嘴鱼的眼睛 * 4.恢复画笔颜色 * param g 画笔 */public void pai

12、nt(Graphics g)/保存画笔的颜色Color c = g.getColor();/绘制鱼脸g.setColor(color);/从(posx,posy)点开始,绘制宽为size,高为size,开始角度为(direction%2=0?(direction+1):(direction-1)*90+monthsize,弧度为360-2*maxMonth的弧形g.fillArc(posx, posy, size, size, (direction%2=0?(direction+1):(direction-1)*90+monthsize, 360-2*monthsize);/绘制鱼眼initE

13、ye();g.setColor(eyecolor);g.fillOval(eyeposx, eyeposy, eyesize, eyesize);/恢复画笔颜色g.setColor(c);/* * 大嘴鱼张嘴闭嘴事件 * 此处只负责鱼的角度的变化,不负责鱼的重绘。 * 重绘在鱼池中实现。 * 这样的好处:保证鱼的绘制和步伐分开。显示层和逻辑层单独处理。(面向对象的责任问题)。 * param e 事件对象 */public void actionPerformed(ActionEvent e) if(isOpen)monthsize -= 2;if(monthsize=maxMonth)isOpen = true;/* * 方向改变时,眼睛的改变。 */private void

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号