预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

程序结构分析 概述 《21点》最早起源于法国,名字叫“20和1”。后来该游戏在英国广为流行,英国人称其为“黑杰克”(blackjack),因为在规则中如果玩家拿到黑桃A和黑桃J,就会有额外的奖励,黑杰克的名字由此而来。在这种游戏传入中国后,受到了大家的喜爱,通称为“二十一点”。 目前有单机游戏版本,网络游戏版本,手机游戏版本等。 分析与设计 本例中所在功能在三个主要界面中完成。 UI层部分 界面主要功能起始界面提供程序的基本选择开始游戏选项退出游戏选项界面提供程序的基本设置功能Player图片设置通过应用程序设置来实现不同模块间的信息交换Player姓名设置游戏界面根据21点游戏规则实现游戏功能能够对Player的基本信息进行初始化,如姓名、图片、初始本金等。下注功能能够使游戏开始(Deal)要牌双倍赌注比牌功能比牌功能退出游戏功能 界面完成功能控件代码编写起始界面完成开始游戏、选项、退出游戏。按钮Button编写对应的事件处理程序选项界面信息提示标签Label属性设置固定图片显示,美化界面PictureBox属性设置 读取应用程序配置实现初始化Player设置图片的显示加载候选图片并可实现图片选择ListView属性设置 初始化保存或放弃设置项按钮(OKCancel)编写对应的事件处理程序游戏界面Player姓名Label属性设置 读取应用程序配置实现初始化Player图片PictureBox属性设置 读取应用程序配置实现初始化Player初始本金TextBox属性设置 读取应用程序配置实现初始化下注功能(四种筹码)Button属性设置 编写对应的事件处理程序赌注金额显示TextBox属性设置 编程实现显示赌注金额清除Button属性设置 编写对应的事件处理程序能够使游戏开始(Deal)Button属性设置 编写对应的事件处理程序要牌Button属性设置 编写对应的事件处理程序双倍赌注比牌功能Button属性设置 编写对应的事件处理程序比牌功能Button属性设置 编写对应的事件处理程序退出游戏功能Button属性设置 编写对应的事件处理程序游戏用牌PictureBox庄家一手牌PictureBox玩家一手牌PictureBox玩家一手牌点数提示Label 以面向对象的编程思想来审视本案例中的对象及其关系。 定义顺序:Card→Deck→Hand→Player→Game SystemFramework层(主要完成牌的定义) BussinessLogic层 命名空间设计:默认命名空间BlackJack 子命名空间设计:BlackJack.PropertiesBlackJack.CardGameFramework MainProgram Program.cs ContainstheMain()method—thelocationwheretheprogrambeginsexecution.ThefirstthingthathappensistheStartFormWindowsformisdisplayed. StartScreen StartForm.cs 显示初始游戏界面并提供游戏选择:开始游戏、选项、退出游戏。 OptionsDialogBox OptionsForm.cs 显示设置选项。通过对话框,你可以改变游戏者的名字和图片。 CardGameFramework模块 Card.cs 预先定义牌的花色、面值(大小) 如何设计一张扑克牌类? 字段:花色大小是否明牌,同时定义相应的属性并进行初始化。 行为? 同时完成花色和大小枚举类型定义 Deck.cs 一副牌类的定义?(重点考虑行为)(注意访问修饰符的使用) 完成定义一副牌的集合和索引器 初始化一副牌 发一张牌的行为 洗牌 Hand.cs(完成两个类的定义) publicclassHand 一手牌类的定义?(重点考虑行为) 完成一手牌的集合定义及相关属性 行为1:查看这手牌中有否某张牌存在。ContainsCard方法。 行为2:(通过继承类实现)通过计算两手牌的值的总和来比较两手牌的大小(考虑游戏规则,即A的值怎样计算等)。publicintCompareFaceValue(objectotherHand)方法。 注意的知识点:publicclassBlackJackHand:Handas操作符 ContainsCard的作用?int的CompareTo的结果? BlackJackGame Blackjackgame.cs 游戏规则,管理游戏。 Player.cs 管理单个游戏者的基本情况:姓名、目前拥有的本金的总额、当前这手牌的情况等。 State.cs 定义一个游戏当前状态的数据类型。 BlackJackUserInterface Bl