- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
一、实验目的
熟练掌握java面向对象编程。
掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。
掌握timer类的灵活使用
培养独立查找资料,并解决问题的能力。
二、需求分析
经典的碰撞球是一个的古老游戏,目的是在训练人的反应能力。只有通过把所有的砖块消除完,才能顺利的完成任务。游戏要求如下:
实现球速度的随机性
实现球碰撞到边缘或者砖块自动反弹
实现游戏可以随时暂停
实现游戏结束后能重新开始游戏
三、实验任务
设计
设计并编程实现弹球程序:用户能通过菜单或者按钮新增一小球,该小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。
程序要求:
具备相应界面,并通过事件编程,实现相应的菜单或者按钮功能。
使用timer,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。
选作题:
实现奖励机制及关卡机制
四、开发工具与平台
JDK1.6+eclipse
五、设计思路
界面设计
首先建立窗口类 继承自JFrame。该界面为主界面。
在加上按钮—开始与暂停
在加入JPanel面板,用于图形界面.
逻辑设计
程序用过响应timer事件,按钮事件及键盘事件来管理程序的运行。
程序测试
六、实验总结
1、这次实验综合运用了GUI编程,使我对多线程编程有了一定的了解,对java的多线程机制有了一点理解,更加熟练的运用swing组件设计界面,响应消息,接口的实现等等。
2、通过课程设计的编程和对编程过程中遇到的问题的思考切实的提高了我的编程能力,通过这次课程设计,我巩固所了学过的知识,能用熟练地运用,进一步掌握了各个指令的功能是转向。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;
文档评论(0)