烟花游戏
1 课程设计目
着现代科学技术进步Java语言编程方面优势编程更选择Java语言特点具跨台性受台影响网络飞速发展天互联网成快速获取发布传递信息重渠道政治济生活等方面发挥着重作
加深巩固学Java知识增强运Java语言编程力深刻握Java语言重概念面象特性掌握JDKJCreator等开发工具运拓宽常类库应锻炼应面象思想设计方法解决实际问题力更应学课程知识解决实际问题达学目加深Java基知识点素控制结构理解掌握Java基容程序设计基方法编程技巧
Java支持线程编程Java运行时系统线程步方面具成熟解决方案Java台标准Java MEJava SEJava EEJava发展天卓越成业界位毋庸置疑目前众支持Java开发工具中7Java Development KitNetBeansJcreatorJBuilderJDeveloperEclipse等中Java Development Kit 简称JDK开发工具基础种开发工具优缺点开发者说重根开发规模开发容软硬件环境等素选择种合适开发工具够熟练掌握系统编辑编译连接运行Java程序方法通设计完整程序达学知识活学活学课程相关知识加融会贯通全面掌握Java语言编程思想面象程序设计方法java编程语言编程方面具体应面象方法应程序进行需求分析概设计详细设计Java编程实现全程
编程java语言目前较流行编程语言时代java语言编程方面优势编程更选择Java语言特点具跨台性受台影响广泛应
学知识目运实践中运已知识独立课程设计完成样知识变成领变成属东西通学学已定Java基础现利基础完成课程设计
2 设计方案证
21设计思路
次课程设计java语言编写程序实现放烟花游戏执行例鼠标点击浏览器中面板释放烟花烟花鼠标变化位置绽放面板出现五彩缤纷烟花效果烟花时绽放例模拟烟花效果首先定义执行程序线程函数run()烟花进行绘制函数run()中定义Graphics类象通程序中算法绘制烟花客户端发送信息应该分公私信息然SendMessageCenter根信息类判断应该信息发送户 拥权限客户端动态建立聊天频道然SendMessageCenter判断信息属聊天频道决定谁发送信息客户端执行聊天命令问题通ClientServer类SendMessageCenter方法建立复杂通信协议完成通信协议组约定相关信息制定格式标准接收方发送方知道条信息作什身份进行通信例发送方发送信息普通聊天信息时增加前缀:words [chatmessage] + words发送条求返回线名单信息时发送前缀 words[returnonlinelist]SendMessageCenter接收客户端信息时首先判断message前缀果[chatmessage]传送客户端果[returnonlinelist]返回该客户端OnlineList然实现烟花缤纷闪烁效果通Thread类ThreadcurrentThread()sleep()方法前线程睡眠户欣赏前绘制效果实现机交互首先通mousePressed(MouseEvent e)函数实现鼠标事件监听样鼠标时产生新线程新烟花效果
22设计方法
表1 程序中涉定义类表
类名
作
父类
Fireworks
程序进行变量颜色初始化
Applet
设计烟花游戏时需编写1Java源文件:Fireworks 作程序进行变量颜色初始化程序中涉定义类Fireworks作表1示:
(1) 游戏界面模块:
游戏界面模块包括游戏图形区域界面游戏开始钮暂停游戏钮关闭钮游戏界面应该力求美观爽心悦目
游戏界面进入游戏够玩家第感官部分包括游戏图形区域界面游戏速度选择更新界面游戏分数显示更新界面新生方块预览游戏开始钮暂停游戏钮退出游戏钮游戏排行榜钮程度决定玩家游戏兴趣问题游戏界面应该力求美观爽心悦目游戏性方面软件设计方面着方便实娱乐性高宗旨界面进行设计程中始终坚持清晰明性方面够实现效率高易出错等优点
(2) 游戏控制模块:
进入游戏点击屏幕会烟花底部涌出烟花点击处爆炸燃烧游戏操作画面游戏提高游戏娱乐性够玩家游戏环境
烟花游戏优点游戏操作简单画面感强众休闲娱乐项目制作简单易懂巧妙运学java基础知识
系统整体布局:CardLayout布局 采文框钮面板框架…等组件菜单run钮笑脸哭脸钮功重新开始新游戏
MineArea类javaxswing包中Jpanel容器子类实现ActionListenerMouseListener接口创建象:mineAreaMineGame类中重成员作容器添加MineGame窗口中心标明MineArea类成员变量方法MineGame类间组合关系UML图图1示
图1 MineArea类UML
23功模块
根次课程设计目功描述该烟花游戏系统分模块:背景模块控制模块变量模块绘图模块颜色模块系统功模块图图1示
烟花游戏
背景
模块
控制
模块
绘图模块
变量模块
颜
色模块
图2块图烟花游戏系统功模
231行性证
表2程序中类总结
例知识点
句话讲解
新学知识
Graphics类
绘制烟花
Thread类
理线程
已学知识
Math类
产生机数
Color类
设置颜色
例制作烟花运行效果图示执行例实例鼠标点击浏览器中面板出现五彩缤纷烟花效果
课程设计知识点:鼠标事件监听Graphics类Thread类应
24程序中方法说明
241 public void init()
该方法设置烟花游戏程序背景色
242 public void paint(Graphics g)
该程序作应程序运行
243 public void run()
变量初始化
程序中:
public class Fireworks extends Applet implements MouseListenerRunnable
{
int xy
int toppoint
**
*程序进行变量颜色初始化
设置背景色黑色
程序中:public void init()
{
x 0
y 0
设置背景色黑色
244 ThreadcurrentThread()sleep()
前线程睡眠
245 public void mousePressed(MouseEvent e)
public void mousePressed(MouseEvent e)
{
x egetX()
y egetY()
Thread one
one new Thread(this)
onestart()
one null
}
**
*实现MouseListener接中方法空方法
246 public voidmouseReleased(MouseEvent e)
public void mouseReleased(MouseEvent e)
{
}
**
*实现MouseListener接中方法空方法
247 public void mouseEntered(MouseEvent e)
public void mouseEntered(MouseEvent e)
{
}
**
*实现MouseListener接中方法空方法
*
248 public void mouseExited(MouseEvent e)
public void mouseExited(MouseEvent e)
{
}
**
*实现MouseListener接中方法空方法
249 举例介绍程序线程烟花绘制
public static void main(String args[]) {
Fireworks applet new Fireworks()
JFrame frame new JFrame(TextAreaNew)
frameaddWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
Systemexit(0)
}
})
framegetContentPane()add(
applet BorderLayoutCENTER)
framesetSize(800400)
appletinit()
appletstart()
framesetVisible(true)
}
**
*程序线程烟花进行绘制
3 设计结果分析
程序JCreator中运行初始界面图2示:
图3烟花游戏程序运行初始图
程序JCreator中运行点击鼠标放烟花图3示:
图4烟花游戏程序运行图
点击:
图5烟花游戏程序运行图
程序JCreator中运行烟花绽放时图45示:
图6烟花游戏程序运行图
图7烟花游戏程序运行图
设计烟花游戏实现简单休闲游戏功执行例鼠标点击浏览器中面板出现五彩缤纷烟花效果例模拟烟花效果首先定义执行程序线程函数run()烟花进行绘制函数run()中定义Graphics类象通程序中算法绘制烟花然实现烟花缤纷闪烁效果通Thread类ThreadcurrentThread()sleep()方法前线程睡眠户欣赏前绘制效果实现机交互首先通mousePressed(MouseEvent e)函数实现鼠标事件监听样鼠标时产生新线程新烟花效果
4 设计体会
次课程设计做烟花游戏服务娱乐消遣通次Java课程设计综合运学期学Java理实际知识进行次Java编程实际训练培养提高独立工作力巩固扩充Java语言编程课程学容掌握Java语言编程方法步骤时科相关课程全面复独立思考力提高次设计程中体现出单独设计Java程序力综合运知识力体会学致突出劳动成果喜悦心情中发现时学足薄弱环节加弥补学计算机编译原理知识强化够课堂学知识通设计程序表示出加深理知识理解现通动手做实验实践认识操作系统处理命令课程设计中程序较复杂调试时应该仔细
老师学力帮助正做系统程中遇问题知识存储足考虑够周全够利实现基功功离开老师学力相助事实证明利完成套功完整系统必须充分利团队力量
次课程设计中仅检验学知识课程设计专业课程知识综合应实践训练迈社会事职业工作前必少程做面面俱定做步步扎实作程序编程员保持清醒头脑现实行代码实现意义
5 参考文献
[1]秦学礼等JAVA程序设计教程[M]中国铁路出版社2006
[2]王克宏等JAVA技术应[M]高等教育出版社1999
[3]樊荣JAVA网络程序设计[M]机械工业出版社2004
[4]耿祥义张跃Java课程设计[M]清华学出版社200811
[5]朱福喜尹民余振坤Java语言面象程序设计[M]武汉学出版社
[6]张广彬孟红蕊张永宝Java课程设计案例精编[M]清华学出版社
[7]丁振Java语言实教程[M]北京:北京邮电学出版社20052
[8]宛延闿实Java程序设计教程[M]北京:机械工业出版社20064
6 附录
import javaawt*
import javaapplet*
import javaawtevent*
import javaxswing*
public class Fireworks extends Applet implements MouseListenerRunnable
{
int xy
int toppoint
**
*程序进行变量颜色初始化
*
public void init()
{
x 0
y 0
设置背景色黑色
setBackground(Colorblack)
addMouseListener(this)
}
public void paint(Graphics g)
{
}
**
*该程序作应程序运行
*
public static void main(String args[]) {
Fireworks applet new Fireworks()
JFrame frame new JFrame(TextAreaNew)
frameaddWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
Systemexit(0)
}
})
framegetContentPane()add(
applet BorderLayoutCENTER)
framesetSize(800400)
appletinit()
appletstart()
framesetVisible(true)
}
**
*程序线程烟花进行绘制
*
public void run()
{
变量初始化
Graphics g1
g1 getGraphics()
int y_movey_clickx_click
int v
x_click x
y_click y
y_move 400
v 3
int rgb
while(y_move > y_click)
{
g1setColor(Colorblack)
g1fillOval(x_clicky_move55)
y_move 5
r (((int)Mathround(Mathrandom()*4321))200)+55
g (((int)Mathround(Mathrandom()*4321))200)+55
b (((int)Mathround(Mathrandom()*4321))200)+55
g1setColor(new Color(rgb))
g1fillOval(x_clicky_move55)
for(int j 0 j<10j++)
{
if(r>55) r 20
if(g>55) g 20
if(b>55) b 20
g1setColor(new Color(rgb))
g1fillOval(x_clicky_move+j*555)
}
g1setColor(Colorblack)
g1fillOval(x_clicky_move+5*1055)
try
{
ThreadcurrentThread()sleep(v++)
} catch (InterruptedException e) {}
}
for(int j12j>0j)
{
g1setColor(Colorblack)
g1fillOval(x_clicky_move+(j*5)55)
try
{
ThreadcurrentThread()sleep((v++)3)
} catch (InterruptedException e) {}
}
y_move 400
g1setColor(Colorblack)
while(y_move > y_click)
{
g1fillOval(x_click2y_move95)
y_move 5
}
v 15
for(int i0i<25i++)
{
r (((int)Mathround(Mathrandom()*4321))200)+55
g (((int)Mathround(Mathrandom()*4321))200)+55
b (((int)Mathround(Mathrandom()*4321))200)+55
g1setColor(new Color(rgb))
g1drawOval(x_click3*iy_click3*i6*i6*i)
if(i<23)
{
g1drawOval(x_click3*(i+1)y_click3*(i+1)6*(i+1)6*(i+1))
g1drawOval(x_click3*(i+2)y_click3*(i+2)6*(i+2)6*(i+2))
}
try
{
ThreadcurrentThread()sleep(v++)
} catch (InterruptedException e) {}
g1setColor(Colorblack)
g1drawOval(x_click3*iy_click3*i6*i6*i)
}
}
**
*鼠标事件进行监听
*听鼠标事件
*鼠标时产生新线程
*
public void mousePressed(MouseEvent e)
{
x egetX()
y egetY()
Thread one
one new Thread(this)
onestart()
one null
}
**
*实现MouseListener接中方法空方法
*
public void mouseReleased(MouseEvent e)
{
}
**
*实现MouseListener接中方法空方法
*
public void mouseEntered(MouseEvent e)
{
}
**
*实现MouseListener接中方法空方法
*
public void mouseExited(MouseEvent e)
{
}
**
*实现MouseListener接中方法空方法
*
public void mouseClicked(MouseEvent e)
{
}
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档