《Java》课程设计报告

上传人:宝路 文档编号:6953459 上传时间:2017-09-15 格式:DOC 页数:21 大小:281.01KB
返回 下载 相关 举报
《Java》课程设计报告_第1页
第1页 / 共21页
《Java》课程设计报告_第2页
第2页 / 共21页
《Java》课程设计报告_第3页
第3页 / 共21页
《Java》课程设计报告_第4页
第4页 / 共21页
《Java》课程设计报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《《Java》课程设计报告》由会员分享,可在线阅读,更多相关《《Java》课程设计报告(21页珍藏版)》请在金锄头文库上搜索。

1、1南 京 晓 庄 学 院 JAVA 程 序 设 计 课 程 设 计 报 告题 目: 接球游戏的设计与实现姓 名 : 吕琴学 号 : 11130924班 级 : 11 计算机转本 2 班指导教师 : 王铮完成时间 2014 年 6 月成 绩:数 学 与 信 息 技 术 学 院2014 年 6 月目录1 引言 .11.1 系统开发背景 .11.1 系统开发的目的和意义 .11.2 完成的主要工作 .12 需求分析和总体设计 .22.1 需求分析与设计思路 .22.1.1 关键技术说明 .22.1.2 需求分析 .22.1.3 系统设计方案与思路 .22.1.4 系统目录结构说明 .22.2 系统功

2、能结构 .23 详细设计 .43.1 系统模块实现 .43.1.1 源程序模块实现 .44 系统运行结果 .7.75 课程设计总结 .8Java 课程设计1接球游戏的设计与实现1 引言1.1 系统开发背景 接球游戏仿照手掌机上的打砖块游戏制作的,游戏难度及游戏速度可以调节。这是一款挑战型的小游戏,看你能成功接住多少小球。1.1 系统开发的目的和意义这是一款 休闲娱乐游戏,其实接球的游戏有很多种,主要还是考验敏捷的思考能力和反应能力,有助于集中精神的训练。1.2 完成的主要工作(1)程序的界面会有移动的滑板, 滑板会根据鼠标的移动而移动。(2)程序会随机的出现不同的球。(3)程序的主界面是还有选

3、择项,可以选择重新开始或者退出。Java 课程设计22 需求分析和总体设计2.1 需求分析与设计思路 2.1.1 关键技术说明1、用户界面的设计,使用画布来显示。2、鼠标的监听事件的实现。2.1.2 需求分析很多的人们在压力这么大的社会中,需要有小游戏来放松身心,而接球小游戏就可以。2.1.3 系统设计方案与思路本程序是一个用 java 写的接球小游戏。游戏开始时会有小球从窗口上部随机位置下落,玩家要做的是通过鼠标控制窗口下部的板子来接住落下的小球,接住一个加一分,直到没有接到一个小球,游戏结束。为了增加游戏的娱乐性,本程序尝试提供 3 个难度,根据难度来调整小球的速度。因为要通过鼠标来控制板

4、子,所以需要一个来监听鼠标位置移动的监听器,来捕获鼠标的移动和鼠标的当前位置(用来更新板子的位置和判断是否接住小球) ,同时这个类负责板子的绘制与更新。本程序采用一个独立的线程来绘制下落的小球,这个线程仅仅负责小球的绘制和判断小球是否被接住,以及记录更新分数。这样可以增加程序的效率,不会出现卡顿的现象。程序的主要窗体由一个 UI 类控制,主要负责窗口和菜单的绘制以及线程的调用。2.1.4 系统目录结构说明对系统包结构、文件结构列表说明,如表 2-1、2-2 所示。表 2-1包名 作用Java.awt.Insets 包含用于创建用户界面和绘制图形图像的所有类Java.awt.event.Acti

5、onEvent 定义了动作的类Java.awt.event.ActionListener 包含用于创建用户界面和绘制图形图像的所有的类Java.awt.event.MouseEvent 把类全部导进来Javax.swing.JOptionPane 有助于方便地弹出要求用户提供或向其发出通知表 2-2文件名 作用GameUI.java 程序的主窗体,负责窗口和菜单的绘制以及线程的调用。MyThread.Java 游戏的线程,主要负责小球的绘制和判断小球是否被接住,以及记录更新分数。Java 课程设计3MyListener.java 监听鼠标位置移动的监听器。用来捕获鼠标的移动和鼠标的当前位置,同

6、时这个类负责板子的绘制与更新。2.2 系统功能结构对系统实现功能进行说明,分析系统功能结构,画出系统功能结构图,如图 2-1 所示。主程序游戏线程 难度调节 分数显示窗口绘制主窗口和菜单绘制小球的绘制 滑板的绘制Java 课程设计43 详细设计3.1 系统模块实现3.1.1 源程序模块实现本模块主要负责小球的绘制和判断小球是否被接住,以及记录更新分数一、 实现原理MyThread 继承于 Thread,使用一个单独的线程进行小球的绘制。小球的绘制和滑板的绘制大同小异,都是使用 java.awt.Graphics 进行绘制的。MyThread 还兼顾着进行小球是否被接住的判断。主要是通过返回的板

7、子的坐标和小球的坐标来判断小球是否在板子上方的一定范围里,如果在,则判断为接住,否则,为掉落。二、 分层结构及调用关系说明进入游戏画面根据球出现的位置,移动鼠标使滑板到相应的位置的上方,测试可以接多少个球。若滑板接到一个球,则玩家就得一分,若接不到球,就游戏结束。先选择游戏的难度,有简单,中等和困难。游戏结束,选择否,退出游戏。游戏结束,选择是,重新开始新的游戏。Java 课程设计5三、 关键代码分析public void run() drawOval();/* 创建线程的方法*/public void drawOval() UI.text_field.setText(count + 分 );

8、/start = System.currentTimeMillis();while (isFinish) while (isPause) synchronized(this.g)g.setColor(java.awt.Color.black);g.fillOval(x, y, width, height);y += y1;getColors();g.setColor(color);g.fillOval(x, y, width, height);int x2 = listener.getX();if (y 595 & x x2 & x 630) if (isexist) isAgain();st

9、opThread();Java 课程设计6try Thread.sleep(speed); catch (Exception ef) ef.printStackTrace();小球的绘制其实就是不断的绘制一个圆形,只不过圆形的 y 坐标在不停的变化。难度的控制是通过主程序传入的 speed 参数来控制的,这个参数用于 Thread.sleep(speed),很显然,当这个参数与小球下落的速度成反比。通过调用 UI.text_field.setText()来更新主窗口上的分数。四、 分析总结这个模块应该是本程序的核心模块了,很多逻辑上的错误都发生过,应该是写的最为艰辛的模块了。不过好在程序本身的

10、逻辑并不是太过复杂,走了几次弯路也就完成的差不多了。Java 课程设计74 系统运行结果Java 课程设计85 课程设计总结一个好的算法可以让你的程序更健壮,编写的代码量更少,处理异常一直是 JAVA 里的常事,通过试验,让我对基础的知识更加深入了解,也对更改代码错误有了一定的提升,能看的懂错误的代码错在哪里,并进行修改,使其正确。这个游戏只是一个简单的接球游戏,如果可以做的更好,就会更好的训练人们的集中力和反应速度,敏捷的做出正确的判断。Java 课程设计9附件:GameUI.java:import java.awt.Insets;import java.awt.event.ActionEv

11、ent;import java.awt.event.ActionListener;/* 游戏界面类*/public class GameUI extends javax.swing.JFrame private static GameUI UI;private java.awt.Graphics g;private MyListener ml;public javax.swing.JLabel text_field;/public javax.swing.JProgressBar pBar;private String command;public java.util.ArrayList list = new java.util.ArrayList();privat

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

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