ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:85.69KB ,
资源ID:1596924      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1596924.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java综合实验设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java综合实验设计.docx

1、Java综合实验设计综合实验报告:滑板反射小球游戏专业班级: 遥感科学与技术 学号: 20133350 姓名: 易乐安 日期: 2015年6月30日 一、程序设计报告小球在窗口四壁弹射(虚线表示弹射的轨道)。左右移动滑板,接住小球弹射,如果没有接住,则游戏失败一次。要求:1. 自拟设计记分方法,和界面的其它部分;2. 滑板用键盘控制左右移动;3. 设置难度调节开关,允许游戏过程中改变这一设置,以调节小球运行速度,速度快,则难度增加。4. 小球在滑板上弹射时,允许一定量的随机变化弹射角度,以实现一定的不确定性。使用模块:对系统包结构、文件结构列表说明,如表2-1、2-2所示。表2-1包名作用Ja

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

3、va监听鼠标位置移动的监听器。用来捕获鼠标的移动和鼠标的当前位置,同时这个类负责板子的绘制与更新。定义界面:设置标题设置大小设置关闭是退出程序 设置打开窗体时在屏幕中间显示设置窗体的流式布局管理器设置窗体背景颜色创建文本标签对象设置文本标签前景颜色创建进度条对象创建按钮对象 创建菜单条对象 创建菜单对象 创建菜单选项对象 创建单选选项创建一个按钮组 主要算法描述:MyThread继承于Thread,使用一个单独的线程进行小球的绘制。小球的绘制和滑板的绘制大同小异,都是使用java.awt.Graphics进行绘制的。MyThread还兼顾着进行小球是否被接住的判断。主要是通过返回的板子的坐标和

4、小球的坐标来判断小球是否在板子上方的一定范围里,如果在,则判断为接住,否则,为掉落 分层结构及调用关系说明2、程序测试报告用例:关键代码分析public void run() drawOval(); public void drawOval() UI.text_field.setText(count + 分); /start = System.currentTimeMillis(); while (isFinish) while (isPause) synchronized(this.g) g.setColor(java.awt.Color.black); g.fillOval(x, y, w

5、idth, 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(); stopThread(); try Thread.sleep(speed); catch (Exception ef) ef.printStackTrace(); 小球的绘制其实就是不断的绘制一个圆形,只不过圆形的y坐标在不停的变化。难度的控制是通过主程序传入的spee

6、d参数来控制的,这个参数用于Thread.sleep(speed),很显然,当这个参数与小球下落的速度成反比。通过调用UI.text_field.setText()来更新主窗口上的分数。结果:结论:一个好的算法可以让你的程序更健壮,编写的代码量更少,处理异常一直是JAVA里的常事,通过试验,让我对基础的知识更加深入了解,也对更改代码错误有了一定的提升,能看的懂错误的代码错在哪里,并进行修改,使其正确。这个游戏只是一个简单的接球游戏,如果可以做的更好,就会更好的训练人们的集中力和反应速度,敏捷的做出正确的判断。附录:源程序代码:import java.awt.Insets; import jav

7、a.awt.event.ActionEvent; 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; publ

8、ic java.util.ArrayList list = new java.util.ArrayList(); private javax.swing.JToggleButton button; public static void main(String args) UI = new GameUI(); UI.initUI(); / 初始化窗体的方法/ public void initUI() / 设置标题 this.setTitle(接球); / 设置大小 this.setSize(610, 635); / 设置关闭是退出程序 this.setDefaultCloseOperation(

9、3); / 设置打开窗体时在屏幕中间显示 this.setLocationRelativeTo(null); / 设置窗体的流式布局管理器 this.setLayout(new java.awt.FlowLayout(); / 设置窗体背景颜色 this.getContentPane().setBackground(java.awt.Color.black); / 创建文本标签对象 text_field = new javax.swing.JLabel(); javax.swing.JLabel lable = new javax.swing.JLabel(时 间 :); / 设置文本标签前景

10、颜色 lable.setForeground(java.awt.Color.red); text_field.setForeground(java.awt.Color.red); / 创建进度条对象 pBar = new javax.swing.JProgressBar(0, 330); / 创建按钮对象 button = new javax.swing.JToggleButton(); button.setMargin(new Insets(0, 0, 0, 0); button.setIcon(new javax.swing.ImageIcon(images/Pause.gif); but

11、ton.setActionCommand(暂停); / 通过匿名内部类来创建动作监听器 java.awt.event.ActionListener button_listener = new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) String com = e.getActionCommand(); if (com.equals(暂停) button.setMargin(new Insets(0, 0, 0, 0); button .setIcon(new javax.swing.Im

12、ageIcon( images/start.gif); button.setActionCommand(继续); for (int i = 0; i list.size(); i+) list.get(i).PauseThread(); if (com.equals(继续) button.setMargin(new Insets(0, 0, 0, 0); button .setIcon(new javax.swing.ImageIcon( images/Pause.gif); button.setActionCommand(暂停); for (int i = 0; i list.size();

13、 i+) list.get(i).ContinueThread(); ; button.addActionListener(button_listener); this.add(button); this.add(lable); this.add(pBar); this.add(text_field); / 的到菜单条 javax.swing.JMenuBar bar = creatMenuBar(); / 为窗体设置菜单条 this.setJMenuBar(bar); / 设置窗体的可见性 this.setVisible(true); /创建菜单条的方法/ public javax.swing.JMenuBar creatMenuBar() / 创建菜单条对象 javax.swing.JMenuBar bar = new javax.swing.JMenuBar(); / 创建

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1