首页 > 编程语言 > 详细

大鱼吃小鱼Java课程设计

时间:2020-01-10 09:39:57      阅读:130      评论:0      收藏:0      [点我收藏+]

Java实现:大鱼吃小鱼(团队)
一、团队成员
常云鹏(组长):排行榜状态栏的设计(文件)及部分界面的设计,背景音乐设计
赵昱昊:主类的实现,相关方法的设计及调用
林可嘉:定义玩家及电脑控制的鱼

二、设计目的?
?通过用Eclipse、Netbeans来设计“大鱼吃小鱼”这个游戏,来熟悉?并学会运用Eclipse、Netbeans软件的同时巩固我们专业课java知识。

三、需求分析
1.对游戏中所需类进行设计;??
2.写出源程序文件,对游戏进行调试和分析,使程序能够成功“跑起来”。

四、功能实现
窗体背景,窗体按钮的监听
鱼设计:主角鱼与电脑鱼
主角鱼:随鼠标移动,也可以用键盘操作
玩家鱼:随机在窗体两侧生成,每个鱼的坐标和速度随机生成,随机向界面中添加已有玩家鱼
背景音乐:主界面添加按钮实现音乐的开或关,吃到鱼后会有特殊音效
排行榜:玩家可以保存自己的游戏成绩,由高到底排序
碰撞检测:当玩家鱼与玩家鱼碰撞时,触发isHit函数,通过比较图片坐标是否重叠判断是否发生碰撞
游戏失败:当碰撞时,若电脑鱼等级高于主角鱼,则主角死亡,游戏结束:或者游戏时间结束,游戏也结束
升级效果:当积分达到一定程度,则改变玩家鱼等级,图片放大
状态栏:在界面显示当前得分,可吃鱼的图片,主角鱼的等级等信息;玩家可以根据喜好调整状态栏的位置
挑战模式:加快鱼的出现速度
主要功能图:
技术分享图片

五、程序分析
整体思想:开始界面、登陆界面、主角鱼、电脑鱼、背景音乐、排行榜、状态栏。
程序主要由八个类组成,分成三个包:fish(Fish[1,2,3,4,5],MyFish),fishgame(FishGame),view(Music,PlayerInfo,RankView,Start,StartManager)。
另外fish文件夹里存放着程序所需的图片和音乐。

UML类图:
技术分享图片

FishGame:
主类:继承JFrame窗口,加载开始界面的图片,同时继承KeyListener, ActionListener, MouseMotionListener接口,用鼠标和键盘同时实现对主角鱼以及按钮的监听。
1.创建几乎全部的属性,是最重要的创建之一:
技术分享图片

2.创建图片数组储存主角鱼和电脑鱼的图片,鱼的移动靠图片数组和位置的变化实现:
技术分享图片

3.设计主界面功能:
技术分享图片

4.进入游戏后重绘主角鱼,并且记录主角鱼的得分,判断主角鱼的升级:
技术分享图片

Start:
登录界面:绘制背景图片,进度条的加载调用默认方法:
技术分享图片

RankView:
实现排行榜,排行榜也加载有自己的背景图片,通过读取储存在List集合里玩家的信息显示在排行榜中。
代码及运行截图:
技术分享图片

技术分享图片

StartManager:
显示状态栏
技术分享图片

技术分享图片

背景音乐:
技术分享图片

游戏提示:
技术分享图片

六、遇见的问题及解决办法
1.问题:刚开始在设计界面时会出现一个窗口中添加新窗口时,鼠标监听不能添加到新窗口的组件上。
解决办法:后面发现自己定义的监听方法是在同一个类中,所以鼠标监听的方法需要重写,之后就解决了。
技术分享图片

但还会出现按钮不能立即在新窗口显示出来,有开和关两个按钮,当鼠标移过去时关按钮才会显示。
2.问题:音乐无法调用mp3格式
解决办法:添加了一个jar包,方法是通过百度学习的,之后就可以成功调用mp3格式的音乐了。
3.不足:在游戏时,状态栏不能改变为透明,当鱼运动到状态栏后面的区域时会出现不能看见鱼的情况。
七、小结
本项目把程序实现的每一个具体功能作为类,然后用类来构成对象。?优点是代码可重用、系统易扩展。??
通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,提高系统的运行效率。

大鱼吃小鱼Java课程设计

原文:https://www.cnblogs.com/cyp-00-111/p/12171709.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!