wx:help-assignment
code price: 600 (不包含文档!不包含文档!不包含文档!)
扑克游戏程序代码,使用QT,C++
1.作业的目的是
在这个作业中,你将得到一组要求,使用本模块中涵盖的面向对象编程概念开发一个纸牌游戏框架。根据给定的需求和规格,你将被要求完成软件的设计/建模,并最终实现和测试。
2.学习成果:
在成功完成此评估后,您将能够:知识和理解
1.解释对象范例中包含的概念
2.从不同的角度讨论系统中对象之间关系的本质
3.理解对象建模语言的目标、范围和核心语义
4.非正式地描述一种编程语言的语义,这种语义使编写基于对象的软件成为可能
评估基于对象的方法对软件开发过程的影响
能力
6.为建议的软件系统生成基于对象的规范
7.使用适当的编程语言结构在软件中实现基于对象的规范
3.简短的评估
3.1的场景
你最近成立了自己的软件开发公司,专门开发独立电子游戏。你是公司唯一的员工(游戏邦注:就像Concerned Ape一样,如果你不知道我们在说什么,你可以谷歌一下),你要负责所有的事情,从寻找合适的游戏机会,一直到软件的设计、开发和测试。你的公司通过识别市场空白,快速开发可行的原型游戏,然后向潜在客户展示,以获得投资,开发功能齐全的商业版本。
3.2项目概述
您已经注意到最近成功的纸牌游戏,如Magic@或Gwent。你决定开发款名为《card-g》的游戏原型,其中包含了这类纸牌游戏的某些元素。经过一番思考,你决定调查并开发一款普通PC电子游戏的低成本版本,测试游戏动态并提供一个易于扩展的游戏初步发行版本。
3.3项目要求
从广义上讲,你需要设计和开发一款包含以下两个必备功能的软件游戏原型:
1.卡组生成和选择功能,应该能够随机生成卡组,并允许玩家选择在下一场比赛中使用的卡组。
2.一个比赛功能,允许玩家使用个性化的卡组对抗虚拟玩家。
下面将详细说明这两个特性。请注意,这些是必须在您的工作中实现的强制性功能。
卡组生成和卡牌选择
该功能负责创建一副牌,用户应该能够选择在比赛中使用的子集。
1.你的原型必须能够生成三种类型的纸牌:增加力量(力量+),减少对手纸牌的力量(力量-),以及允许从对手尚未使用的纸牌中窃取纸牌(偷窃)的纸牌,
2.每张卡片都按其类型和相应的特征进行描述。Power+必须标明添加的电量:力量-必须表明从对手的棋盘上移除的力量;并且steal必须表明要偷的卡是由玩家选择的还是随机捡到的。
3.在比赛之前,玩家必须能够从生成的牌组中选择要使用的5张牌。同样地,虚拟玩家必须以某种方式拾取5张卡片
为了测试你的原型,你的生成组件必须能够生成包含至少20张纸牌的套牌。每个类型至少有一张牌必须包含在牌组中。
匹配特性:
wx:help-assignment
该功能允许玩家与虚拟玩家进行比赛。
1.这款纸牌游戏是回合制的。每个玩家都有一个专门的棋盘,纸牌被放置在上面。在游戏开始时,两个棋盘都是空的。虚拟玩家先开始。
2.当两名玩家都没有牌可打时,游戏结束。拥有最高能量分数的玩家获胜。异能得分是对应玩家的牌中所有异能+牌的值之和,减去对手所出的所有异能牌的值之和。
3.在一个回合中,主动玩家(人类控制或计算机控制)从以下牌中选择一张来玩。
a.Power+卡。这张卡被添加到玩家的棋盘中,玩家的能量分数会根据这张卡的价值而增加。
b.电源卡。这张卡被添加到玩家的棋盘上,对手的能量分数相应减少。
,偷牌。这张牌被添加到玩家的牌组中,玩家从对手的牌组中获得一张牌。若对手的牌组为空,则资牌转化为一张异能值为1的异能+牌。
4.一种基本的电脑控制玩家,可以与人类玩家对抗。
在每个回合中,关于所出牌的信息和分数的更新必须显示在屏幕上,并存储在一个文件中。记录的信息必须包括玩家,当前的能力得分值,所打出的牌的类型和价值,以及尚未打出的牌
实施要求:
wx:help-assignment
你必须用c++实现你的软件。设计应该遵循定义良好的面向对象范例,这样就可以在必要时添加新功能(新类型的卡片,新规则等),并进行最小的代码修改。这将要求您设计一个利用设计模式、继承和多态性的体系结构。维护高效的代码和良好的内存管理非常重要。
超越必备功能
上面提供的规范描述了最小值你的作品必须满足的功能才能获得及格分数
wx:help-assignment