java大鱼吃小鱼_大鱼吃小鱼Java课程设计
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大鱼吃小鱼_大鱼吃小鱼Java课程设计相关推荐
- 三国杀java游戏_计算机毕业课程设计源码-131Java三国杀游戏控制台版本
file://C:\Users\Administrator\Desktop\Java三国杀游戏控制台版本 (1 folders, 3 files, 43.90 MB, 44.11 MB in tota ...
- java质数和合数的程序_《java项目实训》课程设计计算器.doc
<java项目实训>课程设计计算器.doc 课程设计报告课程名称JAVA项目实训课程设计设计名称基于JAVA计算器的设计与实现学生学号学生姓名学生学号学生姓名学生学号学生姓名学生学号学生姓 ...
- java万年历课程设计代码,JAVA《万年历系统》课程设计
JAVA<万年历系统>课程设计 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题目题目 万年历系统万年历系统 专业专业 计算机科学与技术计算机科学与技术 班级班级 姓名姓名 ...
- java课程设计连连看_连连看_java课程设计报告
连连看_java课程设计报告 <连连看> 项目设计报告 专 业: 软件工程 班 级: 07级2班 姓 名: 二00九 年 七 月 二十一 日 目 录 1.项目设计目的.意义-------- ...
- java课程设计报告连连看_连连看_java课程设计报告.doc
连连看_java课程设计报告 <连连看> 项目设计报告 专 业: 软件工程 班 级: 07级2班 姓 名: 二00九 年 七 月 二十一 日 目 录 1.项目设计目的.意义-------- ...
- java web 课程设计_关于Javaweb课程设计的心得体会.doc
关于Javaweb课程设计的心得体会 ----在线测试系统 这次课程设计我做的是章节自测系统, 主要是服务于学生进行阶段性自测和练习.系统分为练习和测试两部分,每一部分又各分若干专题.系统中采用的技术 ...
- java仓库管理设计报告_仓库管理系统(课程设计JSPJAVA大学设计).doc
仓库管理系统(课程设计JSPJAVA大学设计) 摘 要 随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下, ...
- 编译原理java课程设计_编译原理课程设计词法分析
一.课程设计任务及要求 1.1.目的 通过使用一个通用的能够自动根据正规表达式生成词法分析程序的工具程序设计一个简单语言的词法分析器,使学生充分理解课程理论内容和工具软件的使用技巧,掌握所涉及的典型数 ...
- java音乐播放器文库_微机原理课程设计报告——音乐播放器.doc
微机原理课程设计报告--音乐播放器.doc 微机 应用系统 课程设计报告 题 目 电子音乐播放器 专业班级 电子信息科学与技术 1001 班 设计学生 完成时间 2012 年 6 月 27 日 湖南文 ...
- java飞机大战流程图_JAVA课程设计-飞机大战
JAVA课程设计-飞机大战 1.团队名称.团队成员介绍 1.1 团队名称:做个飞机哦 1.2团队成员介绍: 余俊良(组长):编写博客.游戏主界面设计与实现.英雄机与子弹类的实现.场景设计 林祥涛:游戏 ...
最新文章
- Retrofit get post query filed FiledMap
- 机器学习系列-随机过程
- Hangfire 任务调度
- [BuildRelease Management]Team City
- 萧山职称计算机考试培训,浙江萧山2017年职称计算机考试时间安排
- php session 保存数组,php - 我用ajax设置的SESSION数组变量没有被保存?
- 详解 Android 的 Activity 组件
- 软件测试基础课程学习笔记3---软件测试方法
- OpenShift 4 之 Hello-OpenShift
- three几何线在mapbox地图显示
- Ribbon风格下,依然叫菜单或者菜单卡、菜单页
- Pycharm快速入门(5) — Python解释器和环境配置
- 数字图像处理(六)——Matlab实现频域图像分析、FFT实现4:1的图像压缩
- 小学三年级上册计算机计划书,小学生计划书
- 简单版,客户端和服务端使用websocket进行连接通信
- Java基础学习总结(149)——日志打印是一门技术
- 华为「天才少年」自制硬萌机器人,开源5小时,GitHub收获317星!
- 数字图像处理Matlab
- pfamscan 的使用_使用pfam-scan进行Pfam注释
- 嵌入式软件--单元测试工具介绍
热门文章
- 前端开发一枚,入职前自学的感觉不难,为什么工作起来很吃力?
- 【学术】 一个博士的经历(小木虫精华帖,留着细细体会!)
- 那么一个数字字符串比如“111“,就可以转化为“AAA”、“KA”和“AK”。
- 手持6位半电压信号源产品级实现记录(一)
- Are you referring to request attributes outside of an actual web request
- 任正非 《一江春水向东流》
- CF407C Curious Array
- android编程_5个在Android平台上进行编程的最佳应用
- 群晖NAS如何修改默认404页面
- 为什么Windows的文件名不能超过255个英文字符,求解答