- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件设计报告 - search read.pudn.com
“速算24”扑克游戏
一、设计内容
编写一个“速算24”游戏:在游戏中,用户随意抽出四张扑克牌,用加减乘除的方法将它们连接起来,使得结果等于24。
二、设计要求
界面设计要求:
始界面不显示扑克的正面,而显示扑克的反面;
界面显示游戏规则,为用户提供指导;
2、功能设计要求:
系统能随机产生4张扑克的面值显示在界面上;
用户输入表达式后按下“确定”键,系统判断用户输入的正确性与合法性,并通过消息框告知用户。 正确就过关,不正确就提示用户修改答案,不合法提示用户重输!
三、总体设计(软件结构图)
设计游戏界面,尽量使界面美观友好;
添加对表达式的处理方法;
添加对事件的处理;
完成游戏软件的编码;
软件结构图:
四、详细设计
设计游戏界面,尽量使界面美观友好。
创建一个Applet;我们通过继承Applet类来创建这个游戏的主类:
import java.applet.*;
public class Cal24 extends Applet
{}
2)编写一个用来显示图片的Panel
class PicPanel extends Panel
{…}
3)主界面的设计——游戏主类的编写;
构造函数:public Cal24()
{….}
实现对主界面的初步设计。
4)编写告诉用户所输入表达式正确与否的对话框
class MsgDlg extends Frame implements ActionListener
{….}
添加对表达式的处理方法;
先编写两个辅助方法:
(1)、判断一个字符串是否是一个数字:
private boolean isNumber(String str)
{…}
(2)、判断一个字符串是否是一个运算符:
private Boolean isOperator(String str)
{…}
2)编写对表达式处理的方法:
public int CalString(String str)
{….}
3、添加对事件的处理
对Applet中按钮的事件处理
(1)、实现ActionListener接口
(2)为“开始游戏”按钮和“确定”按钮安装监听器,这些代码添加在Cal24的构造方法中。
对对话框的“确定”按钮事件处理
4、游戏软件的的完成。
五、运行效果说明
“速算24”是一个锻炼玩家心算和快速反应能力的游戏。在给出四张牌之后,玩家能够很快的给出一个算式,使得其计算结果等于24。游戏应该能够在玩家输入表达式之后判断出玩家输入的表达式是合法还是非法的。如果是合法的,则计算结果是否为24,如果不是24,则提示用户结果为错。
游戏的初始界面如图1-1所示。
图1-1
当用户单击“开始游戏”按钮的时候,游戏将会随机给用户发四张牌。如图1-2所示,为随机开始的一局游戏,给出四张纸牌分别为“8”,“12”,“9”,“8”。
图1-2
在输入框中输入计算表达式,如“8+12-9+8”,然后单击“确定”按钮之后,系统就会出现提示框,告诉你输入的表达式结果,如图1-3所示。
图1-3
如果你输入的表达式是非法的,如“3++4-3-”,则游戏会弹出对话框,告诉你输入的表达式不合法,让你重新输入,如图1-4所示。
图1-4
如果你输入的表达式的值是24,则游戏就会弹出对话框,告诉你作对了,单击“确定”按钮自动开始另一局新的游戏,如图1-5所示。
图1-5
六、主类介绍:
主类Cal24用继承Applet类来创建,用来实现游戏主界面。
主类中定义两个属性:Panel类 m_pBottom和整型数组m_nStatus; m_pBtottom用来容纳添加的组件,m_nStatus用来存放四张牌的状态。
构造函数Cal24()实现了该程序的界面设计:先后把“开始游戏”按钮、“确定”按钮、txField文本框、“请输入表达式”标签添加到通道m_pBottom中。完成界面设计。
七、主要功能模板介绍(包括设计的相关类和主要设计方法):
PicPanel 类(Panel的继承类):显示A-K扑克牌的正面图和反面图,每次在面板上随机显示4张牌;
MsgDlg类:告诉用户输入的表达式正确与否;
CalString(String str)方法:实现对用户输入的表达式的处理;
IsNumber(String str)方法:判断一个字符串是否是一个数字;
IsOperator(String str)方法:判断一个字符串是否是一个运算符;
事件的处理(例如:按下“开始游戏”,“确定”按钮的时候做出的相应的操作):为按钮安装监听器。事件处理过程在actionPerformed(ActionE
文档评论(0)