- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计论文用纸
三国杀角色仇恨值累计及计算结果
摘要
鉴于现在的三国杀游戏AI身份判定系统的不完整,使单机游戏的娱乐性降低, 特此完善游戏。本次课程设计根据对各角色的行为判定其身份,实现模拟现实对战体验。由于游戏中角色“反贼”对于游戏目标(消灭主公)的特殊性,可对直接伤害角色“主公”的角色身份进行“标记反贼”,即本文的“标反”思想。若对已进行“标反”的角色进行协助者,给予二次标反(较弱);对其伤害者不做标记。同时对各发出行为的角色进行伤害次数累计。通过以上两个标准判定各角色身份。
本文通过对各角色之间的逻辑关系进行详尽分析最终确立了以“标反”思想为主线,同时借助伤害累计以明确对结算目标的选择,使用VC6.0编译环境进行编码实现,得出结果。
关键词:三国杀 身份判定 标反 伤害次数 VC6.0
目录
一、问题描述 2
1、三国杀简单介绍 3
2、单机版三国杀中存在的问题: 3
3、分析和解决问题 3
4、标反的思想实现: 4
5、身份的确定方法 4
6、对牌的分类: 5
二、开发平台 5
三、变量命名规则 5
四、程序中主要类或函数的描述 6
五、程序流程 6
六、运行结果 8
七、运行结果分析 9
八、程序需要完善的地方 10
九、自己的心得体会 10
附录 11
一、问题描述
1、三国杀简单介绍
三国杀是一款风靡中国的智力卡牌桌游,以三国为背景、以身份为线索、以武将为角色,构建起一个集历史、文学、美术、游戏等元素于一身的桌面游戏世界
1、函数名用大写字母开头的单词组合而成,用下划线分割单词。
2、变量和参数用小写字母开头的单词组合而成。
3、常量全用大写的字母
四、程序中主要类或函数的描述
由于程序主要对游戏进行操作,所以建立基本类role叙述各角色的身份、伤害系数以及打出的牌(协助牌或者伤害牌)。基本类role的主要功能为:
1、 控制角色出牌;
2、 判断角色身份;
3、 累计伤害次数;
4、 输入、输出角色身份和伤害系数;
5、 返回角色身份和伤害系数的值。
五、程序流程
六、运行结果
举例:
(1)1号为主公,2号为反贼,3号为忠臣,4号为反贼,5号为内奸
出牌如下:
一、2号位置反贼伤害1号位置主公
二、3号位置忠臣伤害2号位置反贼
三、4号位置反贼协助2号位置反贼
四、5号位置内奸伤害4号位置反贼
程序运行结果如下:
(2)1号为主公,2号为反贼,3号为忠臣,4号为反贼,5号为内奸
出牌如下:
一、2号位置反贼伤害1号位置主公
二、3号位置忠臣伤害2号位置反贼
三、4号位置反贼伤害1号位置主公
四、5号位置协助伤害4号位置反贼、
运行结果如下:
七、运行结果分析
由于例子只有一个回合的出牌,所以对一些具体的身份无法做出绝对准确的判断,如内奸和反贼,内奸和忠臣有时会出现无法分辨,但可以肯定,忠臣的身份不会错,于是主公不会伤害错角色,而内奸的身份过于特殊,他同时会收到所有人的攻击,只是攻击次序靠后而已,所以不会影响整个的判定,而且通过游戏的继续进行,内奸会逐渐通过伤害次数的不同分辨出来。
八、程序需要完善的地方
一、由于该程序只是整个三国杀游戏程序的一个协助程序,所以攻击距离,手牌数,伤害结算等都没有办法体现,只能通过人为的添加来实现。
二、程序的举例由于输入过于复杂,而改为内部设置。
三、没有做出界面。
九、自己的心得体会
在没有网络资源支持的前提下,运用所学的C++知识独立编写完整的程序,经历了从文字需求转为代码的过程,为了完成需求做了很多不同尝试和修改,对编程有了整体上的认识。编程过程中由于自身知识体系的不够完善被迫将需求化简,不过大体上仍可以实现最初建立此程序的目的。
十、参考文献
郑莉,董渊,何江舟编著.C++语言程序设计(第4版)[M].北京:清华大学出版社,2010.7
柯匹,科恩编著.逻辑学导论(第11版)[M].北京:中国人民大学出版社,2007.3
附录
#include windows.h
#include iostream
#include process.h
#include cstdlib
#include ctime
#define NUM_OF_PH 5 //哲学家的个数
using namespace std;
unsigned int __stdcall philosopher(LPVOID);
void thinking(int);
void eating(int);
void wait_to_eat(int);
inline void outline(int ,const char *);
//全局变量
CRITICAL_SECTION crout;//这个变量用来保证输出时
文档评论(0)