java专业课程设计烟花游戏
烟花游戏
1. 课程设计的目的
随着现代科学技术的进步,Java语言在编程方面的优势使得编程有了更好的
选择。Java语言最大的特点是具有跨平台性,使其不受平台不同的影响。在网络
飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在
人们政治、经济、生活等各个方面发挥着重要的作用。
为了加深和巩固所学的Java知识,增强运用Java语言编程的能力,深刻把握Java语言的重要概念及其面向对象的特性,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用,锻炼自己应用面向对象的思想和设计方法解决实际
问题的能力,使我们能更好的应用所学的课程知识解决实际问题,达到学为所用
的目的。加深对Java基本知识点要素和控制结构的理解,掌握Java的基本内容及程序设计的基本方法与
编程技巧。
入门的java游戏小程序Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。能够熟练地掌握在系
统上编辑、编译、连接和运行Java程序的方法。通过设计一个完整程序,来达
到把所学到的知识活学活用把所学课程及相关知识加以融会贯通,全面掌握Java 语言的编程思想及面向对象程序设计的方法。java编程语言在编程方面的具体应用,以及使用面向对象方法,对小应用程序进行需求分析、概要设计、详细设计,最后使用Java编程实现的全过程。
在编程我们使用的java语言,是目前比较流行的编程语言。在当今这个的
时代,java语言在编程方面的优势使得编程有了更好的选择。Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。
学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知
识,独立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属
于自己得东西,通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来完成课程设计。
2.设计方案论证
2.1设计思路
本次课程设计主要是用java语言编写程序实现放烟花的小游戏。执行本例后,用鼠标点击浏览器中的面板,释放烟花,烟花可以随鼠标的而变化,在不同
的位置绽放,面板上将出现五彩缤纷的烟花效果。烟花可以同时绽放。本例因为
要模拟烟花效果,所以首先定义执行程序主线程的函数run()对一个烟花进行绘制。在函数run()中定义Graphics类的对象,通过程序中的算法来绘制烟花。客
户端发送的信息应该分为公用以及私有的信息,然后SendMessageCenter根据信息的类别来判断应该将信息发送给哪些用户。拥有权限的客户端可以动态地建
立聊天频道,然后SendMessageCenter还可以判断信息所属的聊天频道来决定向
谁发送信息客户端可以执行聊天命令。所有这些问题都可以通过Client与Server 类的SendMessageCenter方法建立一个不很复杂的通信协议来完成。一个通信协议就是一组约定,将相关的信息制定一个格式标准,让接收方和发送方都知道这
条信息将作为什么身份进行通信。例如,发送方发送的信息为普通的聊天信息时,可以增加一个前缀:words = "[chatmessage]" + words,而发送一条要求返回在线名单的信息时,可以发送另一个前缀words="[returnonlinelist]"。当SendMessageCenter接收到客户端信息时,首先判断message的前缀,如果是"[chatmessage]",则传送给其他客户端,如果是"[returnonlinelist]",则返回给该客户端一个OnlineList。然后,因为要实现烟花的缤纷闪烁效果,所以要通过Thread类的Thread.currentThread().sleep()方法使当前线程睡眠,让用户欣
赏到当前的绘制效果。最后,因为要实现人机交互.,所以首先要通过mousePressed(MouseEvent e)函数来实现对鼠标事件的监听,这样当按下鼠标时,产生一个新线程就可以看到一个新的烟花效果
2.2设计方法
表 1 程序中涉及
的自定义类表
类名作用父类
Applet
Fireworks对小程序进行变量和颜
的初始化
在设计烟花游戏时,需要编写1个Java源文件:Fireworks。作用是对小程序进行变量和颜的初始化。程序中涉及的自定义类有Fireworks,其作用如表1所示:
(1)游戏主界面模块:
游戏主界面模块,主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、
关闭按钮。游戏的主界面应该力求美观,爽心悦目。
游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形
区域界面、游戏的速度选择更新界面、游戏分数的显示更新界面、新生方块的预
览、游戏开始按钮、暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。从很大
程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心
悦目。在游戏性能方面,本软件在设计方面本着方便、实用及娱乐性高的宗旨,
在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,
不易出错等优点。
(2)游戏控制模块:
进入游戏后,点击主屏幕。即会有烟花从底部涌出烟花,并在点击处爆炸燃
烧。游戏的操作和画面都给游戏提高了游戏的娱乐性。为了能够给玩家一个很好
的游戏环境。
对于烟花游戏,其主要优点在于游戏操作简单,画面感强。对于大众是休闲
娱乐的好项目。并且制作简单,易懂,巧妙的运用了我们所学习的java基础知识。
系统的整体布局为:CardLayout布局, 采用了文本框、按钮、面板、框架…等组件,菜单主要有run按钮笑脸和哭脸,按钮的功能是重新开始新的游戏。
MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener 和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如图1所示。
JPanel ActionListener MouseListener
MineArea
row,colum,mineCount,markMount: in block: Block[]blockView: BlockView[][]showTime: JTextField shouMarkedMineCount: JTextField
lay: LayMines record: Record reStart: JButton time: Timer initMineArea(int,int,int): void actionnPerformed(ActionEvent) void mousePressed(MouseEvent): void show(int m,int n): void inquireWin(): void MineGame mineArea:MineArea ------------------
图 1. MineArea 类
的UML
2.3功能模块
根据本次课程设计的目的和以上的功能描述,将该烟花游戏的系统分为个主要模块:背景模块、控制模块、变量模块、绘图模块和颜模块。系统功能模块图,如图1所示。
图2.块图烟花游
戏系统功能模烟花游戏
背
景
模
块控制模块绘图模块变量模块颜模块
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论