- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.NET开发 大作业
单机卡牌游戏
仙剑逍遥游(初级模式)
马瑞新老师的劣徒softlistener的作业报告
仅供娱乐
1..绪论
1.1系统的背景介绍与意义
《仙剑奇侠传:逍遥游》是一款“仙剑之父”姚壮宪亲自监制,由软星科技(北京)有限公司推出的仙剑官方卡牌桌面游戏。该桌游是一款以组队冒险、合作竞争、挑战怪物、收集宠物为核心的桌上卡牌类游戏,可供2-8人参与。包括李逍遥、赵灵儿、王小虎、唐雪见、紫萱、重楼、南宫煌、星璇、云天河、韩菱纱、龙幽等《仙剑奇侠传》系列中的主要人物角色悉数在该桌游中登场亮相,还包括历代著名的六界生灵、道具法术等等。
开始画面有两个按钮,“新的故事”开始游戏,“前尘忆梦”查看作者及游戏信息。
人物选择:
开始游戏后,从九个初级模式人物中随机选择两个呈现给用户,用户选择其一以进行游戏。
游戏界面1(开始):
玩家信息在左下角,对手信息在右上角
游戏界面2(出牌):
系统在每回合选择一张精美图片当做本回合背景
游戏界面3(打怪):
右下方有控制流程的按钮,以驱动游戏进行
游戏界面4(抽取事件牌):
动态效果:当鼠标指向牌时,牌面会放大以方便玩家阅读
游戏界面5(弃牌):
当一些强制性事件发生时(如玩家没有弃牌,游戏不能继续),有窗口提示
游戏界面6(获得宠物)
界面动态更新,当有手牌变化(如偷盗,补牌),血量变化,装备变化,战力变化等时,界面立即更新
查看人物信息:
点击人物头像时可以查看人物,装备,宠物信息
1.3 各个作者的主要完成工作及分工
从分析,设计,美工,到编代码,写数据库数据都是本人独自完成,连续4天,目前代码量已经超过2500(包括注释),由于时间有限,有的功能仍不完善,项目仍在进行中。
特别感谢zxk,zjl,zpp三名同学,他们帮我为六十多张纸牌拍了相片,截图,并进行亮度处理,虽然他们都没有选这门课,不能因此得到学分。
2.系统主要设计 (3-6页)
2.1系统总体功能模块(功能模块图)
用户通过窗体和控件发出指令
Server接收并分析动作
由Server控制四个实体类,它们读取数据库信息
Server进行分析和运算
把结果反馈到窗体和控件
2.2数据库设计
数据库在本游戏中起到存储基本资料作用,四个表分别存储了手牌,事件牌,怪兽牌,人物牌的信息,分别有实体类与之对应(数据库具体字段可参见2.1类图)
手牌 CardInfo表,有8列56行
事件牌 EventInfo表,有5列20行
怪兽牌 MonsterInfo表,有12列16行
人物牌 PlayerInfo表,有26列9行(一些数据在初级模式暂时用不到,但考虑扩展性,还是添上了)
2.3使用的主要技术
WinForm窗体编程
WinForm事件驱动程序
SQL数据库(数据量太大,且不需要输入,不存在注入式攻击,所以没有用存储过程)
实体类连接数据库
C#面向对象的编程
UML类图设计
一种基于位置的高效无重复随机序列生成算法(用于洗牌)
简单的PS图像处理
3. 系统实现
3.1系统主要类的设计
主要模块:
数据传输层:
人物类,手牌类,怪兽牌类,事件牌类(都是对应数据库的实体类)
业务逻辑层:
宠物类,武器类,游戏窗体类中控制游戏流程的方法,以及上面实体类中一些 方法,服务类(Server)
表现层:
游戏窗体类,及其中大量控制控件的方法
3.2 重要的随机算法
定义在类Server中,提供随机数为洗牌使用
/// summary
/// 为List产生不重复随机序列,完成洗牌
/// /summary
/// param name=n随机1-n的数字/param
/// param name=list目标list/param
/// 这是一种基于位置的高效无重复随机序列生成算法
public void Rand_N(int n,ref Listint list)
{
int[] num = new int[n];
Random ran = new Random( unchecked((int)DateTime.Now.Ticks) );
for (int i = 0; i n; i++ )
{
num[i] = i+1;
}
for (int i = 0; i n; i++)
{
int x = ran.Next( n
您可能关注的文档
最近下载
- 解读水尺计重标准分解.doc VIP
- 混凝土矿物掺合料应用技术规程.docx VIP
- 曼娜回忆录的小说全文.pptx VIP
- 智能客服系统:多轮对话管理_(6).强化学习在多轮对话中的应用.docx
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 最新行政人事部年终工作总结PPT模版.pdf VIP
- 建筑固废复合粉体矿物掺合料应用技术规程.pdf VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- 行政人事部年中工作总结PPT课件.pptx VIP
文档评论(0)