Java弹球游戏实验报告—chen

课 程 设 计 报 告 题 目 弹球小游戏 姓 名 方成 学 号 20 专 业 java 指导教师 陈华恩 2013年 12 月 30 目录 一、实验目的2 二、需求分析2 三、实验任务2 1、设计3 2、程序要求:3 3、选作题:3 四、开发工具与平台3 五、设计思路3 1、界面设计3 2、逻辑设计3 3、程序测试4 六、实验总结5 七、程序代码5 八、参考文献11 1.《疯狂java讲义》12 2.《算法导论》12 3.《java编程思想》12 一、实验目的 1、 熟练掌握java面向对象编程。 2、 掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 3、 掌握timer类的灵活使用 4、 培养独立查找资料,并解决问题的能力。 二、需求分析 经典的碰撞球是一个的古老游戏,目的是在训练人的反应能力。只有通过把所有的砖块消除完,才能顺利的完成任务。游戏要求如下: 1、 实现球速度的随机性 2、 实现球碰撞到边缘或者砖块自动反弹 3、 实现游戏可以随时暂停 4、 实现游戏结束后能重新开始游戏 三、实验任务 1、 设计 设计并编程实现弹球程序:用户能通过菜单或者按钮新增一小球,该小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 2、 程序要求: (1) 具备相应界面,并通过事件编程,实现相应的菜单或者按钮功能。 (2) 使用timer,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 3、 选作题: (1) 实现奖励机制及关卡机制 四、开发工具与平台 JDK1.6+eclipse 五、设计思路 1、 界面设计 首先建立窗口类 继承自JFrame。该界面为主界面。 在加上按钮—开始与暂停 在加入JPanel面板,用于图形界面. 2、 逻辑设计 程序用过响应timer事件,按钮事件及键盘事件来管理程序的运行。 程序开始 窗口运行,等待响应用户消息 游戏开始,小球开始移动 移动速度在每次反弹后发生变化。如果小球碰倒边界或者砖块,小球方向发生变化 若某个小球掉到球拍下面,游戏结束。按开始按钮则重新开始游戏 退出 移动球拍来使小球不至于掉到球拍下面 3、 程序测试 六、实验总结 1、这次实验综合运用了GUI编程,使我对多线程编程有了一定的了解,对java的多线程机制有了一点理解,更加熟练的运用swing组件设计界面,响应消息,接口的实现等等。 2、通过课程设计的编程和对编程过程中遇到的问题的思考,切实的提高了我的编程能力,通过这次课程设计,我巩固所了学过的知识,能用JAVA熟练地运用其中的一些,进一步掌握了各个指令的功能是转向。 七、程序代码 package com.fangcheng.ball.game; import java.awt.Font; import java.awt.event.*; import javax.swing.*; import java.util.ArrayList; import java.util.Random; public class BallGame extends JFrame implements ActionListener,KeyListener{ private JPanel p; private JButton start; private JButton stop; private JLabel ball; private JLabel qiupai; private JLabel bg;//用来放置背景图片的JLabel private JLabel win; private JLabel over; private int x1=50; private int x2=15; private int y1=325; private int y2=340;//球与球拍的初始位置 private Timer time;//周期性触发球的移动事件的timer对象 private boolean isRight=false;//球是否向右移动 private boolean isDow=false;//球是否为下降 private boolean isOver=false;//是否游戏结束 private boolean isYi=false;//球拍是否能移动 private int xsudu=3; private int ysudu=3;//球的x,y速度,初始值为3 private Random ran=new Random();//用于随机产生球的x,y速度 private ArrayList removeBrickList;//被移除的砖块的list private ArrayList brickList; //游戏时砖块的list private Font font; /** * 构造器,参数为窗口标题 * @param s */ public BallGame(String s){ super(s); gameShow(); } /** * 用于游戏窗口绘制的方法 */ public void gameShow(){ //初始化组件 ImageIcon img1=new ImageIcon(BallGame.class.getResource(“/images/ball.png“)); ImageIcon img2=new ImageIcon(this.getClass().getResource(“/images/pa.png“)); ImageIcon img3=new ImageIcon(this.getClass().getResource(“/images/kuang.png“)); ImageIcon img

java弹弹球实验报告_Java弹球游戏实验报告—chen相关推荐

  1. C语言中猜数大小的实验报告,猜数字游戏实验报告

    <猜数字游戏实验报告>由会员分享,可在线阅读,更多相关<猜数字游戏实验报告(17页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计报告题 目:猜数字游戏班 级:通信工程组 ...

  2. java课程设计实验报告_java课程设计实验报告样例

    分数_______ 嘉应学院计算机学院实验报告 课程名称:面向对象程序设计课程设计(Java) 实验名称:"动物换位"程序设计 指导教师:肖振球 实验地点:_居家学习_实验时间:2 ...

  3. Java课设对对碰_java课程设计实验报告

    1 一 实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念.程序设计的基本方法.语 法规则等方面加深理解, 打好程序设计. 开发软件的良好基础.在上机实验中,提高学生对 Java 语言各部 ...

  4. java程序设计教程实验报告_java程序设计课程实验报告3

    北京电子科技学院(BESTI) 实验报告 课程:java程序设计    班级:1353  姓名:陈都  学号:20135328 成绩:             指导教师:娄嘉鹏   实验日期:2013 ...

  5. java程序设计教程实验报告_java程序设计课程--实验报告-实验13.doc

    java程序设计课程--实验报告-实验13.doc 还剩 12页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ...

  6. java基本语法实验体会_Java基本语法实验报告

    题目:Java基本语法 课程名称:JAVA语言程序设计 班    级:信1705-1 姓    名:刘雨馨学号:20173445 指导教师:王建民 正文部分格式要求: 1. 正文汉子部分要求宋体小四, ...

  7. java员工管理系统实验报告_java员工管理系统实验报告怎么写?员工管理系统的风险控制有哪些?...

    员工管理系统在设计好后,要先试运行,实验成功后,才可以使用的.那大家知道java员工管理系统实验报告怎么写吗?还有,员工管理系统的风险控制有哪些呢?下面就让小编带大家一起来了解一下吧. java员工管 ...

  8. java音乐系统实验报告_java程序设计课程设计报告音乐播放器.docx

    java程序设计课程设计报告音乐播放器.docx JAVA及JAVAWEB应用开发实验报告设计题目JAVA音乐播放器专业计算机信息管理班级1班学号姓名2014年12月24日IMPORTJAVAXMED ...

  9. java迷宫实训报告_Java综合实训报告-迷宫.doc

    Java综合实训报告-迷宫 目 录 1.需求分析2 2.概要设计2 2.1功能图3 2.2系统流程图4 3.详细设计4 3.1类关系图5 3.2类设计图5 类Maze5 类MazeGrid6 3.3主 ...

最新文章

  1. 快速上手MyBatisPlus~(基友搭配,效率翻倍)
  2. 不是广告--如何学Java,我说点不太一样的学习方式
  3. 南华大学java补考_关于2017年秋季学期学生补考报名及成绩复核的通知
  4. 23装饰模式(Decorator Pattern)
  5. c语言中的scanf在java中应该怎么表达,Scanner类。
  6. 深度学习中的自动编码器:TensorFlow示例
  7. 如何将数据库中的表导入到PowerDesigner
  8. 粒子群算法的惩罚函数的c语言实现,粒子群算法结合惩罚函数用于桥式起重机主梁优化.pdf...
  9. ModelSim 仿真教程
  10. segy地震数据的读取python_python segy格式地震数据读写包segyio学习笔记(二)
  11. Matlab绘制折线图详细方法
  12. 计算机毕业设计asp.net家庭个人理财系统(源码+系统+mysql数据库+Lw文档)
  13. 博图注册表删除方法_arcgis 10.2安装时error1606以及error2753解决方法记录
  14. 四.响应解析——解析json格式
  15. 微信图片怎么添加竖排文字_微信字体竖排怎么设置 微信怎样编辑竖排文字
  16. Python实现Iris数据集(鸢尾花卉数据集)kmeans聚类
  17. AMCL中odom数据处理
  18. VR全景为家装赋能,沉浸式体验家装设计效果
  19. python开发的项目管理软件_10 个超好用的免费开源项目管理软件
  20. oracle 取月份的第一天

热门文章

  1. Matlab出现On Startup: Error using eval undefined function 'workspacefunc' for input arguments of type
  2. CF1004F Sonya and Bitwise OR
  3. P3706 [SDOI2017]硬币游戏
  4. P2664 树上游戏
  5. ABB (2020牛客国庆集训派对day1)
  6. 【每日一题】8月10日题目精讲—排座椅
  7. 模板:k短路(可并堆)
  8. 不止代码 洛谷P1006 传纸条(dp)
  9. P5502-[JSOI2015]最大公约数【分治】
  10. CF1419E-Decryption【数论,dfs】