完整word版基于Java的猜拳小游戏设计Word下载.docx
- 文档编号:13723610
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:17
- 大小:212.21KB
完整word版基于Java的猜拳小游戏设计Word下载.docx
《完整word版基于Java的猜拳小游戏设计Word下载.docx》由会员分享,可在线阅读,更多相关《完整word版基于Java的猜拳小游戏设计Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
Java最强大的是网络方面的应用,本课程设计不涉及网络方面的应用。
一、背景与意义
游戏是全球最大的娱乐经济项目之一,已经被命名为“第九艺术”。
而由“游戏”派生出来的职业,除了软件开发外,游戏包装宣传推广、攻略指导、网络游戏管理员和职业游戏玩家等,已成为了一系列专门的岗位。
虽然说中国的游戏行业开始逐步的迈入了正轨,但是现今,游戏人才出现严重的瓶颈时期,高校的扩招、金融危机的侵袭直接影响着我们最关心的就业问题,但是另一方面游戏人才的缺乏又直接制约着行业的发展,这就更加严格了对社会培训机构的稳定性和正规性的要求。
在我国,游戏人才培养体系还未健全,部分开设了相关专业的高校,游由于理论和实践的脱离无法完全满足网游公司对人才的需求。
所以,就中国目前的市场分析来看,加强游戏产业必须在多渠道人才培养体系上加快突破,尽快建立起多渠道人才培养体系,来满足社会对游戏人才的需求。
通过Java程序设计的一些重要理论基础来实现“人机猜拳小游戏”的功能。
通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果,逐步建立正确的全局观念。
通过本次程序设计,我掌握了Java语言的基本运用,提高了理论结合实际能力。
二、设计原理及方案
程序总体介绍和设计要求程序使用J2SE语言编写,使用标准JDK平台编译和运行。
程序使用已创建的PairOfDice类,设计并实现一个类来玩游戏。
根据游戏规则玩家将和电脑进行比赛。
创建小游戏,实现电脑与玩家之间互动猜拳这主要功能,通过按钮的方式,与电脑进行猜拳游戏,电脑随机出拳并能显示设置的图片,增加美观。
一)方案:
1)界面的左侧是电脑或者玩家的名字,让界面看起来一目了然。
2)系统界面的中间是电脑或者玩家出拳的图片。
图片可以生动形象得表示出电脑或者玩家出的拳,显示的图片在对话框中也相得益彰。
在图片的下方会显示,人机猜拳以后的输赢。
3)界面的右侧是三个剪刀石头布的按钮。
玩家通过按钮出拳,电脑随机出拳,猜拳的输赢结果在下方显示。
二)设计思路:
在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现:
⑴构造创建服务器端和客户端
⑵创建输入输出流
⑶编写服务器端处理数据的线程方法
⑷绘制游戏界面
⑸绘制界面上的提示
采用此方法设计使程序简洁明了,使绘制游戏界面时简单化,更加易于游戏的实现,程序也更易于读懂。
如java中得到输入输出流的方法:
//调用客户端的getInputStream()方法
Inputs=newBufferedReader(newInputStreamReader(client.getInputStream()));
通过调用此方法获取从服务器得到的数据
调用客户端的getOutputStream()方法,通过此方法把客户端的数据传输给服务器。
三)系统分析
Java程序编辑器是:
图形界面、线程、流与文件等技术的综合应用。
图形界面的实现:
考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。
线程实现文件自动保存:
在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。
文件操作的实现:
利用了字符文件流FileReader和FileWriter类来实现。
由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。
在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。
主类完成对象的实例化及显示。
这们设计的优点是:
条理清晰,容易理解,容易修改。
这样设计的缺点是:
不利于共享类中的方法。
四)程序概要设计
1)功能需求分析
一个剪刀石头布游戏,根据一般的常识,首先要有两个人,两个人同时出,然后,根据双方的出拳,决定谁是赢者,虽然想起来这个游戏很简单,但如何实现,还是有一定难度的。
实现这个时针时涉及到几个技术问题:
1.双方如何出拳
2.如何同时出拳
3.如何判断哪方赢了
4.如何显示结果
剪刀石头布游戏,都是通过两个人同时出拳,然后根据双方出的拳,判定哪方是赢家。
2)性能需求分析
准确性:
在实现此的过程中,我们要考虑到,双方是否能同时地出拳,还要就是如何去判断,准确地知道哪方是赢家.
简洁性:
在实现此的过程中,我们要考虑到,怎样使游戏界面更简单,让人更容易明白它怎样去玩。
五)工作流程图:
图1工作流程图
六)程序框图
游戏程序框图如图2所示
图2游戏程序框图
七)程序中所用类说明:
(1)用户自定义类
类名:
SmallGame
作用:
实例化对象
主要成员变量:
FramemyFrm//定义主窗体
TextAreamyText//定义文本编辑区
ButtonBfontOK,Bfind,Breplace,Bnext,Bcancel//定义和创建各按钮
LabelLfLr,Ls//定义和创建各标签
MenuBarMbbar//定义和创建主菜单
MenuMfile,Medit,Mformation,Mhelp//定义和创建主菜单中的选项
ToolkittoolKit
ClipboardmyCB//剪切板对象
FileDialogmyFDlg//定义文件对话框
主要成员方法:
publicvoidinit()//初始化各部件菜单的定义和事件的监听
publicvoiddisplayEdit()//显示窗体及调用Time中的schedule方法
publicvoidwindowClosing()//关闭窗体
publicvoidsave//保存文件方法
.内部类类名:
KeyEvents
实现菜单的事件的响应功能
继承的父类:
KeyAdapter
无
成员方法:
actionPerformed()、keyPressed()
(2)用户自定义类与Java类的继承关系图如下:
图3子类及其父类继承关系图
(3)类中成员及作用
Service类成员:
Stringdata;
//接收数据
BufferedReaderinputs;
//读取数据
PrintStreamoutputs;
//输出数据
Socketclient;
//定义套接字
Client类成员:
//接收数据
Socketclient=null;
//定义套接字
BufferedReaderinputs=null;
BufferedReaderkey=null;
//缓冲数据
PrintStreamoutputs=null;
八)程序运行效果及存在的问题
(1)运行效果图
剪刀石头布游戏效果如图4所示:
图4游戏效果图
(2)存在的问题
此游戏界面简洁明了,但还是有许多问题的,比如说这个界面不是GUI的,所以操作性不强,也不美观,而且处理数据的random函数也有问题,它可能出现相同的结果,不能成为真正意义上的随机,所以这个小游戏还是有许多问题的,我会进一步的改进它。
三、项目实现
一)
程序用到的类库简介
(1)Java的抽象窗口工具集AWT(AbstractWindowToolkit)中包含了很多的类来支持GUI的设计,使得用户和程序可以非常方便地进行交互。
java.awt包中包含Component、Panel、Frame、Applet、Container、Button等许多常用的类。
(2)Swing类库提供一组“轻量级”(全部是Java语言)组件,尽量让这些组件在所有平台上的工作方式都相同。
而javax.swing.event则供Swing组件触发的事件使用。
(3)此外,程序还用到了部分applet、net、io、util类。
二)游戏主程序设计
主程序PigPanel用到两个类:
Die和PairOfDice,均为已设计类。
Die类主要实现出招过程,PairOfDice过程主要返回游戏规定的得分情况,PigPanel使用这两个类,并产生用户交互界面,由用户操作实现出招、得分、等步骤。
三)主界面PigPanel类
1.
成员变量
restart
Jbutton
对本次游戏数据进行清零
get
JButton
模拟出招
pause
获得当前得分的点数
pod
PairOfDice
声明类以获得分点数
2.成员变量
info
String
储存读取的信息
ta
JTextArea
显示文字
四)具体实现
首先建立一个Test类,如下:
importjava.awt.Color;
importjava.awt.Image;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.AbstractButton;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
publicclassTestextendsJFrame{
JLabeljl,jl1;
finalJLabeljl2,jl3;
JLabeljl4;
publicStringperson;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 基于 Java 猜拳 小游戏 设计