COMP2045课程2024
介绍
这门课相当于模块分数的40%。它要求你写C++程序和报告,以解决下面描述的任务。这个的最后期限演习时间为2024年4月29日星期一晚上23:55。在开始练习之前,请阅读整个文档。如果你对这个练习有任何问题,请在问答论坛上提问Moodle,在讲座后,在实验室,或在广告中的办公时间。不张贴
您的程序或程序的一部分发送给Moodle,因为您不允许共享你与其他学生的作业计划。如果有任何问题需要这样做需要澄清的练习,然后将更新此文档,每个人都将通过Moodle通知。任务您的任务是在C++和写一份关于测试算法的报告。Goofspiel是一款双人纸牌游戏,使用标准牌组中的牌卡。每一套衣服都是排名的,即王牌值一分,2是两分,等等,杰克11,女王12分,国王13分。其中一套被单独列为“奖品”;剩下的每一套西装都变成了一个玩家的手,一套衣服被丢弃。奖品卡片被打乱
放在玩家之间,一张牌出现了。游戏在一系列回合中进行。球员们对冠军进行密封投标(脸朝上)从他们手中挑选一张卡片作为奖品(对他们的选择保密来自对手)。一旦选择了这些卡片,它们就会同时出现揭晓后,出价最高的玩家将获得奖品卡。如果有平局时,奖金卡的价值在平局的玩家之间平均分配。用于的卡放弃出价,继续玩一张新的上翘的奖卡。13轮之后,没有剩余的牌,游戏结束。玩家谁获得了最高金额的奖品卡赢得了游戏。
有关Goofspiel和最先进技术的更多详细信息,请参阅参考文献[1-3]
游戏策略。
你应该实现一个用户玩的Goofspiel游戏的程序重复的自动算法。该程序应在用户在游戏中的表现如何。你应该测试您制定的战略相对于最先进战略的表现(这可以在Goofspiel游戏的程序中完成,也可以在单独的程序中进行)。
Goofspiel游戏的C++程序的一些其他要求包括:1.它必须使用C++面向对象编程(OOP),而不是C风格顺序编程。
2.它必须是用户与计算机进行的交互式游戏。
3.它必须允许用户输入(通过键盘或鼠标)。
4.它必须显示结果(赢、输、平或得分)。
屈服
您必须提交一个zip文件,其中包含一份报告(不超过4页)和所有此练习的源代码。代码文件应在没有X2Go上的警告和错误消息。您应该在报告中解释您的程序的详细信息,包括游戏中使用的类的层次结构和Goofspiel的策略设计。您还应该评估战略的绩效——它的效果如何
在对抗其他策略时的表现以及它在对抗人类玩家时的表现。(参见[3],代 写COMP2045了解通过竞赛评估Goofspiel策略的示例)。
逾期提交:逾期提交每小时将损失2个百分点,四舍五入到下一个整小时。逾期提交的文件不得超过锻炼截止时间后48小时。如果你有情有可原的情况必须在截止日期前提交。标记标记方案如下:•测试(30%或12分):你的程序应该满足硬
要求。如提交部分所述,如果您的程序没有
编译后,您将丢失所有测试标记。
o正确性。程序总是根据测试中的游戏规则。(10次测试,每次测试1分)
o稳健。程序处理一些不正确的用户输入。(2分)
o没有运行时错误。(运行时错误扣5分)
o无内存泄漏。(内存泄漏扣1分)
•满足约束条件(10%或4分):
o程序正确使用C++面向对象技术。(2分)
o程序格式良好,并且包含适当的
评论。(1个标记)
o游戏包含一个用户朋友界面。(1个标记)
•算法质量(10%或4分):
o您的算法与其他算法有显著差异。(2分)
o你的算法比确定性和随机性算法表现得更好策略。(1个标记)
o您的算法在与人类玩家竞争时表现良好重复的游戏。(1个标记)
•报告(50%或20分):
o对游戏、算法和类的适当描述程序,并测试您提出的算法的性能。4.)
o算法评估
▪ 关于您的绩效的清晰准确的陈述提出的算法。(2分)
▪ 测试的适当设计(2分)
▪ 足够的测试结果来支持您的结论。(4分)
▪ 适当使用表格和数字。(4分)
▪ 分析您的算法(为什么它表现良好或较差)。2.标记)
o结构和语言
▪ 组织良好的结构。(1个标记)
▪ 学术英语写作。(1个标记)
剽窃
你应该自己完成这门课程。任何涉嫌抄袭的人将根据大学关于抄袭(请参阅你的学生手册和大学质量手册)。这可能门功课得零分。您应该自己编写此作业所需的源代码。你必须不要从互联网上复制代码。您不得复制源代码或与其他人共享源代码学生。你们决不能在解决方案上合作。你可以非正式地谈论更高层次的想法,但没有达到允许你们所有人创建相同的源代码。记住,经验丰富的讲师很容易发现来源中的抄袭行为密码我们还有自动化工具,可以帮助我们识别共享代码,即使
旨在隐藏复制的修改。如果你有问题,你应该问提问而不是抄袭。如果你不能完成练习,那么你仍然应该提交您不完整的程序,因为这仍然会给您带来一些标记已完成的部分(但请确保编译不完整的解决方案并且部分运行!)。