要编写的代码是要完成一个完整的活动叫“A Week is a Long Time when you are in Trouble”.
注意:你执行的版本必须与下面给的详述匹配并且使用提供的资料. 其他的执行会得到低分.
在这个游戏中用户扮演一个在名叫Straya的虚拟国家中虚拟公司FilesBiNyte的财务经理的角色. 财务经理已同意任命一个新的电流接触器但据称被影响改变他的想法. 一个文档任命第一承包商已经写就,但第二个有一个不同的名字的文档也被发现. 财务经理因为其他人试图发现可能发生什么而承受着压力. 用户如果可以保持财务经理在工作7天将会赢得这场比赛.
用户可以控制财务经理每天做什么. 当着手处理时,选项包括给一个回应“不评论!“,否认有任何过错,分解原始文档(如果这是属于他们的并且碎纸机未满),或者辞职. 如果他们辞职,游戏结束.
不同的结果根据财务经理的行为出现. 他们包括:无,一个当地报纸上的故事,被盗窃的原始文件,被呈献给公司所有者的原始文件,以及首席执行官给财务经理降职. 如果降职,游戏结束.
当财务经理有了文件在他们手里时,他们就会想起这件事从每一天的开始. 他们还被告知哪一天是轮到他们的, 他们的碎纸机有多满, 以及他们是否对他们的未来感到担忧.
注意:一个关于实现这个游戏的示例输出将给出.
注意:完成这个游戏的实现将由三(3)个文件,只有其中一个必须是你写的.
文件:
• KXO_asst3.java
这是个驱动程序(有一个main()method)#不能做任何改变
这个驱动程序声明和实例化了一个ShouldIWorry 类(class)中的一个对象。
• FinanceManager.java
这个包含了你要用到的去完成游戏编程中的一些资源 #不能做任何改变
• ShouldIWorry.java
#这个需要写
代码的‘starter’version 已经被做好了。要用这个作为你程序的开始的点
1. 创作和用对象(object)在FinanceManager 类中
# 失分——如果在ShouldIWorry.java 中写复制的代码用在FinanceManager中的methods。
2. 为了帮助你用trace() (在‘starter’version中已被提供)来包含跟踪信息
i. 打开跟踪:manager.setTracing(true)
ii. 关闭跟踪:manager.setTracing(false)
3. 用分开的methods 来实现在这个游戏中实行不同的任务
4. 用局部变量储存只用在一种method的数据
5. 用实体变量储存被用在或会被改变在多种method里的数据。
程序:两个阶段来编程,每阶段完成后需要被测试正确与否
阶段 1
注意:你应该在sub-stages中编写,执行和测试你的程序. 做出你自己的sub-stages是你们小组任务的一部分.
在ShouldIWorry.java中编写下列代码:
‘Housekeeping’
1) 在财务经理对象和ShouldIWorry级中关掉追踪信息.
Manager.setTracing(false);
2) 无论何时,被建立的财务经理对象访问setUp()类函数时伴随着参数值0.
介绍
为用户提供一个游戏的总体描述.
玩这个游戏 – 用户被提示去做‘行动’知道游戏结束.
1) 游戏结束当一下任何一条发生时:
*财务经理在7天工作中存活(用户赢).
*财务经理被首席执行官降职(用户输).
*财务经理辞职(平局).
2) 在每一步骤之前用户将被提供一下信息:
*当前日期.
*这个事件(谣言)的那一周到目前为止.
*碎纸机满了的百分比.
*原始文件是否归他们所有(未粉碎),以及他们是否担忧(至少6条本能价值)
3) 用户被询问他们今天要做什么. 选择有:
*不做任何评论或否认所有知识.
这个行为的结果将被计算并且游戏将会结束如果他们被降职,否则将显示一信
息
*分解文档.
如果他们没有这份文件,或者如果粉碎机是满的,他们将被告知这个不能被粉碎
*如果文件能被粉碎那么,这样做的结果是将被计算并且如果他们被降职,游戏结束.
4) 辞职
*游戏结束(平局)
5) 该行动被采取后,当前的谣言会展示给用户(如果游戏未结束).
阶段2
记住只有在你已经完成并且检测过阶段1后才考虑补充这个
这个阶段的功能
(1) 在玩游戏,用户被问到是否要玩,如果不,游戏就不被运行
(2) 在每个游戏结束后,用户被问到是否想在运行一次
(3) 当用户不想在运行任何游戏——需要有一个最终message展出
a. 多少游戏被运行
b. 用户赢了多少优势
c. 用户输了多少游戏
d. 有多少和局
规划和文件
你需要做的第一件事是要了解使用可用的financemanager类的对象。
•仔细阅读代码,确保你能识别
•实例变量
•方法—标头注解和代码,和解决它们要干什么(建议:填写如下所示为你做这个表)。
•写一个驱动程序去实例化financemanager类的一个对象并调用它的方法
•完成此表显示你所推导的financemanager类。
• 计划如何编写代码以“组织”的“A week is a long time when you are in trouble”游戏(使用financemanager类的对象)•
i. 解决的需要的子任务(这些都应该是作为一种方法(method)实现)。•
ii. 解决需要被一个以上的方法(method)共享的数据。这些通常是实体变量。
iii. 做出每个方法
1. 数据将需要通过(参数)
2. 数据需要通过(返回值)
3. 做子任务的算法
• 算法执行的每一步后测试正确与否和完成度。
• •完成一个记录你的计划和进度表
编写风格
你为这次任务所写的代码必须是一个single 类 叫ShouldWorry,一个文件里面的代码叫ShouldWorry.Java。这个类不应该有一个main()函数,代码的运行一开始来自于“driver”程序kxo151 asst3(已提供)。在ShouldWorry中的代码会示例Financemanager对象(已提供代码)并且调用它的方法
你的程序应当遵行本学期学过的编码约定,尤其是
变量标示符应当开始于一个小写字符
Final变量标示符应当是用大写字母写
每一个if/else语句应当有两个代码块,if部分和else部分(如果用到了)
每一个循环应该有一个代码块
程序应当用尽量多使用final变量
开头的括号和结尾的括号应当匹配
所有在一个模块里的代码应当被匹配并且锁紧1个tab stop 从括号来给这个模块打分
(1) 应当有一个开头评论(comment)的模块,其中包含至少
a. 文件名,组的编号(103),学生名(这个我们自己加就好啦~),塔大学号(我们自己加~)
(2) 没一个变量发布都需要一个评论(comment)
(3) 对于每一个方法(method)指出,都应当有一个开头评论
a. 这个方法(method)是什么
b. 参数的目的(如果有)
c. 返回值(如果有)为了什么
保存输出结果
运行你java程序当中每一个菜单选项并且将输出结果保存为一个文本文档的用你组编号데名字命名这个文件就是Group103。Txt
|