java课程设计烟花游戏Word文件下载.doc
- 文档编号:6941205
- 上传时间:2023-05-07
- 格式:DOC
- 页数:18
- 大小:212.50KB
java课程设计烟花游戏Word文件下载.doc
《java课程设计烟花游戏Word文件下载.doc》由会员分享,可在线阅读,更多相关《java课程设计烟花游戏Word文件下载.doc(18页珍藏版)》请在冰点文库上搜索。
拥有权限的客户端可以动态地建立聊天频道,然后SendMessageCenter还可以判断信息所属的聊天频道来决定向谁发送信息客户端可以执行聊天命令。
所有这些问题都可以通过Client与Server类的SendMessageCenter方法建立一个不很复杂的通信协议来完成。
一个通信协议就是一组约定,将相关的信息制定一个格式标准,让接收方和发送方都知道这条信息将作为什么身份进行通信。
例如,发送方发送的信息为普通的聊天信息时,可以增加一个前缀:
words="
[chatmessage]"
+words,而发送一条要求返回在线名单的信息时,可以发送另一个前缀words="
[returnonlinelist]"
。
当SendMessageCenter接收到客户端信息时,首先判断message的前缀,如果是"
,则传送给其他客户端,如果是"
,则返回给该客户端一个OnlineList。
然后,因为要实现烟花的缤纷闪烁效果,所以要通过Thread类的Thread.currentThread().sleep()方法使当前线程睡眠,让用户欣赏到当前的绘制效果。
最后,因为要实现人机交互.,所以首先要通过mousePressed(MouseEvente)函数来实现对鼠标事件的监听,这样当按下鼠标时,产生一个新线程就可以看到一个新的烟花效果
2.2设计方法
表1程序中涉及的自定义类表
类名
作用
父类
Fireworks
对小程序进行变量和颜色的初始化
Applet
在设计烟花游戏时,需要编写1个Java源文件:
Fireworks。
作用是对小程序进行变量和颜色的初始化。
程序中涉及的自定义类有Fireworks,其作用如表1所示:
(1)游戏主界面模块:
游戏主界面模块,主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。
游戏的主界面应该力求美观,爽心悦目。
游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、游戏分数的显示更新界面、新生方块的预览、游戏开始按钮、暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。
从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。
在游戏性能方面,本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。
(2)游戏控制模块:
进入游戏后,点击主屏幕。
即会有烟花从底部涌出烟花,并在点击处爆炸燃烧。
游戏的操作和画面都给游戏提高了游戏的娱乐性。
为了能够给玩家一个很好的游戏环境。
对于烟花游戏,其主要优点在于游戏操作简单,画面感强。
对于大众是休闲娱乐的好项目。
并且制作简单,易懂,巧妙的运用了我们所学习的java基础知识。
系统的整体布局为:
CardLayout布局,采用了文本框、按钮、面板、框架…等组件,菜单主要有run按钮笑脸和哭脸,按钮的功能是重新开始新的游戏。
MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener和MouseListener接口,所创建的对象:
mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。
标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如图1所示。
图1.MineArea类的UML
2.3功能模块
根据本次课程设计的目的和以上的功能描述,将该烟花游戏的系统分为个主要模块:
背景模块、控制模块、变量模块、绘图模块和颜色模块。
系统功能模块图,如图1所示。
背景
模块
控制
绘图模块
变量模块
颜
色模块
图2.块图烟花游戏系统功能模
2.31可行性论证
表2.程序中类的总结
本例知识点
一句话讲解
新学知识
使用Graphics类
绘制烟花
使用Thread类
管理线程
已学知识
使用Math类
产生随机数
使用Color类
设置颜色
本例制作烟花,运行效果如图后所示。
执行本例实例后,用鼠标点击浏览器中的面板,将出现五彩缤纷的烟花效果。
此课程设计的知识点有:
鼠标事件的监听,Graphics类和Thread类的应用。
2.4程序中主要方法说明
2.4.1publicvoidinit()
该方法设置烟花游戏小程序的背景色。
2.4.2publicvoidpaint(Graphicsg)
使该程序可以作为应用程序运行。
2.4.3publicvoidrun()
变量初始化。
如程序中:
publicclassFireworksextendsAppletimplementsMouseListener,Runnable
{
intx,y;
inttop,point;
/**
*对小程序进行变量和颜色的初始化。
并设置背景色为黑色
publicvoidinit()
{
x=0;
y=0;
//设置背景色为黑色
2.4.4Thread.currentThread().sleep()
使当前线程睡眠。
2.4.5publicvoidmousePressed(MouseEvente)
publicvoidmousePressed(MouseEvente)
{
x=e.getX();
y=e.getY();
Threadone;
one=newThread(this);
one.start();
one=null;
}
/**
*实现MouseListener接中的方法。
为一个空方法。
2.4.6publicvoidmouseReleased(MouseEvente)
publicvoidmouseReleased(MouseEvente)
{
}
*实现MouseListener接中的方法。
2.4.7publicvoidmouseEntered(MouseEvente)
publicvoidmouseEntered(MouseEvente)
*/
2.4.8publicvoidmouseExited(MouseEvente)
publicvoidmouseExited(MouseEvente)
2.4.9举例介绍程序主线程,对烟花的绘制。
publicstaticvoidmain(Stringargs[]){
Fireworksapplet=newFireworks();
JFrameframe=newJFrame("
TextAreaNew"
);
frame.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
frame.getContentPane().add(
applet,BorderLayout.CENTER);
frame.setSize(800,400);
applet.init();
applet.start();
frame.setVisible(true);
*程序主线程,对一个烟花进行绘制。
3.设计结果与分析
程序在JCreator中运行之后的初始界面如图2所示:
图3.烟花游戏程序运行初始图
程序在JCreator中运行之后,点击一下鼠标放烟花如图3所示:
图4.烟花游戏程序运行图
点击很多下:
图5.烟花游戏程序运行图
程序在JCreator中运行之后,烟花绽放时如图4.5所示:
图6.烟花游戏程序运行图
图7.烟花游戏程序运行图
我所设计的烟花小游戏,实现简单的休闲游戏功能。
执行本例后,用鼠标点击浏览器中的面板,将出现五彩缤纷的烟花效果。
最后,因为要实现人机交互.,所以首先要通过mousePressed(MouseEvente)函数来实现对鼠标事件的监听,这样当按下鼠标时,产生一个新线程就可以看到一个新的烟花效果。
4.设计体会
这次课程设计我做的是烟花小游戏,主要是服务于娱乐消遣。
通过这次Java课程设计,综合运用本学期所学Java理论和实际知识进行一次Java编程实际训练从而培养和提高我们独立工作能力,巩固与扩充Java语言编程课程所学的内容,掌握Java语言编程的方法和步骤,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。
在这次设计过程中,体现出自己单独设计Java程序的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。
现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,课程设计中程序比较复杂,在调试时应该仔细。
在老师和同学的大力帮助,我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。
事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。
在这次的课程设计中不仅检验了我所学习的知识,课程设计是我们专业课程知识综合应用的实践训练,也是我们迈向社会,从事职业工作前一个必不少的过程。
我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。
5.参考文献
[1]秦学礼等.JAVA程序设计使用教程.[M]中国铁路出版社,2006
[2]王克宏等.JAVA及其技术应用.[M]高等教育出版社,1999
[3]樊荣.JAVA网络程序设计[M]机械工业出版社,2004
[4]耿祥义,张跃平.Java课程设计[M]清华大学出版社,2008,11
[5]朱福喜,尹为民,余振坤.Java语言与面向对象程序设计[M]武汉大学出版社
[6]张广彬,孟红蕊,张永宝.Java课程设计案例精编[M]清华大学出版社
[7]丁振凡.Java语言实用教程[M].北京:
北京邮电大学出版社,2005.2
[8]宛延闿.实用Java程序设计教程[M].北京:
机械工业出版社,2006.4
6.附录
importjava.awt.*;
importjava.applet.*;
importjava.awt.event.*;
importjavax.swing.*;
*/
publicvoidinit()
setBackground(Color.black);
addMouseListener(this);
}
publicvoidpaint(Graphicsg)
{
/**
*使该程序可以作为应用程序运行。
*/
publicstaticvoidmain(Stringargs[]){
publicvoidrun()
//变量初始化
Graphicsg1;
g1=getGraphics();
inty_move,y_click,x_click;
intv;
x_click=x;
y_click=y;
y_move=400;
v=3;
intr,g,b;
while(y_move>
y_click)
{
g1.setColor(Color.black);
g1.fillOval(x_click,y_move,5,5);
y_move-=5;
r=(((int)Math.round(Math.random()*4321))%200)+55;
g=(((int)Math.round(Math.random()*4321))%200)+55;
b=(((int)Math.round(Math.random()*4321))%200)+55;
g1.setColor(newColor(r,g,b));
for(intj=0;
j<
=10;
j++)
{
if(r>
55)r-=20;
if(g>
55)g-=20;
if(b>
55)b-=20;
g1.setColor(newColor(r,g,b));
g1.fillOval(x_click,y_move+j*5,5,5);
}
g1.fillOval(x_click,y_move+5*10,5,5);
try
{
Thread.currentThread().sleep(v++);
}catch(InterruptedExceptione){}
for(intj=12;
j>
=0;
j--)
g1.setColor(Color.black);
g1.fillOval(x_click,y_move+(j*5),5,5);
try
Thread.currentThread().sleep((v++)/3);
g1.setColor(Color.black);
g1.fillOval(x_click-2,y_move,9,5);
v=15;
for(inti=0;
i<
=25;
i++)
r=(((int)Math.round(Math.random()*4321))%200)+55;
g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);
if(i<
23)
{
g1.drawOval(x_click-3*(i+1),y_click-3*(i+1),6*(i+1),6*(i+1));
g1.drawOval(x_click-3*(i+2),y_click-3*(i+2),6*(i+2),6*(i+2));
g1.setColor(Color.black);
*对鼠标事件进行监听。
*临听其鼠标按下事件。
*当按下鼠标时,产生一个新线程。
publicvoidmousePressed(MouseEvente)
publicvoidmouseEntered(MouseEvente)
publicvoidmouseExited(MouseEvente)
publicvoidmouseClick
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 烟花 游戏
![提示](https://static.bingdoc.com/images/bang_tan.gif)