- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Greed问题模型报告
小组成员名单:
:许正昌
:侯飞飞
:任乐
:周学志
:李俊生
:叶跃庆
:陈雷
1:问题陈述
Greed问题陈述
编制一个在pc机上模拟Greed游戏的软件。本游戏使用6个立方体骰子,可供两个以上游戏者集体游玩。骰子的六面分别标有阿拉伯数字1~6的点数。游戏时若干个骰子同时集中掷下,依据所得到点数组合计算得分。其中计算分数要符合一定的游戏记分规则。
游戏开始时可以选择游戏者的个数,然后游戏者依次获得一轮游戏机会,得分由各轮游戏的得分累计获得。每一轮开始时有六个骰子可以投掷。每掷一把后计算得分并将已得分的骰子取出,并且游戏者可以选择是否再汇集其余的骰子掷下一把,这样逐次掷下去直至掷完剩余的骰子或选择放弃再掷。在入局后的每轮投掷中,若有一把未能得分,则本轮已得的全部积分作废且失去本轮游戏资格须待下一轮机会。若游戏者中间选择放弃再掷,则本轮所得分数加入到总分中。
游戏开始时,掷一把得到300分或以上分既可入局(已得积分和未得分的骰子带入)。否则将失去本轮游戏资格须待下一轮机会。在每个游戏者得到相同轮数游戏的条件下首先获得3000分或获得3000分以上的最高分者为赢家。
这个软件要在屏幕上显示一个表格,分别显示当前将要投掷骰子的游戏者和每个游戏者的当前的状态(是否入局,目前的总分,已经进行到第几轮),如果某个游戏者的得分超过3000分则显示这个游戏者为赢家。
静态系统交互图
由问题陈述中抽取名词获得初步的对象
初始化表
软件,游戏,骰子,游戏者,点数,点数组合,分数,游戏记分规则,个数,游戏机会,轮,局,游戏资格,轮数,赢家,屏幕,表格,状态,总分
扩展问题陈述
Greed扩展问题陈述
这个系统必须能够允许用户选择游戏者的个数,可以模拟骰子投掷得到随机的点数,可以对每个游戏者的得分进行计算,游戏者可以选择在每轮中是否继续投掷,系统可以在每个游戏者投掷后利用游戏记分规则对游戏者投掷所得的点数进行处理得到游戏者应得的分数,然后可以在屏幕上利用表格的形式对当前的所有游戏者的状态(是否入局,进行到第几轮,在某轮中投掷了几把,目前的总分,本轮中已经得到的分数,是否已经超过3000分成为赢家)进行显示。
经过筛选,可以得到
2:对象类:
游戏,游戏者,骰子,游戏机会,表格
数据字典:
游戏数据字典:
整个软件运行时间内都有效,
属性:
一个表格,
游戏者的数目
重要的方法:
从用户接收游戏者的数目,
对游戏者进行初始化(进行第一轮投掷),
对表格进行初始化
轮到下一个游戏者进行动作
关联:
与游戏者间关联,
与表格间关联,
与游戏机会间关联
作用:
对整个的游戏进展进行管理,
协调游戏者与表格显示之间的关系,
启动游戏的进程
判断如果某个游戏者的总分超过3000则成为赢家
游戏者数据字典:
这个类的对象在游戏得到游戏者的数目后之后创建,直至程序运行结束
属性:
游戏者已经得到的总分
游戏者是否入局的标志
重要的方法:
获得一次投掷机会
关联
与整个游戏间关联
与游戏机会间关联
作用:
管理某个游戏者所得到的分数,
与整个游戏之间的交互
骰子数据字典:
当进行某次游戏机会时,会构造一个骰子的对象,来模拟投掷骰子,当获得骰子的点数后,就会删除这个对象。
属性:
点数
方法:
投掷,会返回一个点数
关联:
与游戏机会相关联
作用:
模拟现实中投掷骰子的过程
游戏机会数据字典:
当轮到某个游戏者进行一轮游戏时,会构造游戏机会对象,当这一轮结束后,这个对象自动删除
属性:
游戏者还可以投掷的骰子的个数
游戏者在这一轮中暂时得到的分数
方法:
开始投一把,判断这个游戏者是否入局,如果否判断是否入局
如果是,则请求用户判断是否继续投掷。
用户选择继续投掷时则利用剩余的骰子继续模拟投掷
用户选择放弃时,则把这一轮中已经得到的分数加到游戏者的总分中
关联:
与骰子对象关联,每次模拟都有构造骰子的对象来模拟
与游戏者关联,
作用:
模拟某个游戏者在一轮游戏中的投掷骰子的行为,
决定某个游戏者是否有资格进行游戏(是否曾投出300分以上)
游戏者可以选择继续投掷或放弃再投
每一轮的分数当游戏机会对象删除时要自动加到游戏者的总分中。
表格数据字典:
在整个游戏运行期间用来与用户进行交互
属性:
行
列
方法:
在行中写数
在列中写数
作用:
用来显示游戏者的状态(已经获得多少分数,在第几轮中,本轮中已经得到的分数)
对象间的相互关系
3:对象模型:
4:动态模型
状态图
游戏者
轮到这个游戏者动作
(获得一次游戏机会
文档评论(0)