c语言21点游戏程序设计报告_第1页
c语言21点游戏程序设计报告_第2页
c语言21点游戏程序设计报告_第3页
c语言21点游戏程序设计报告_第4页
c语言21点游戏程序设计报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

未知驱动探索,专注成就专业C语言21点游戏程序设计报告介绍本报告旨在介绍和解释使用C语言设计的21点游戏程序。21点是一种流行的纸牌游戏,玩家需要和庄家进行对战,目标是将手中的牌总点数尽量接近21点,但不能超过。游戏规则游戏开始时,玩家和庄家各自发两张牌。玩家可以看到自己的牌,但只能看到庄家的一张牌。A、J、Q、K的牌值分别为1、10、10和10。其余牌的牌值就是牌上的点数。玩家可以选择要牌或停牌。要牌表示再从牌堆中拿一张牌,并将其点数加到手中已有的牌总数上。停牌表示不再要牌。庄家在玩家选择停牌后开始要牌。庄家必须在自己的牌总数达到17点时停止要牌。如果玩家手中的牌总数超过21点,玩家即输掉游戏。如果庄家手中的牌总数超过21点,庄家即输掉游戏。如果玩家手中的牌总数比庄家大且不超过21点,玩家即获胜。如果庄家手中的牌总数比玩家大且不超过21点,庄家即获胜。程序设计为了实现21点游戏,我们需要设计以下几个功能模块:1.发牌模块这个模块负责初始化牌堆并按规则发牌给玩家和庄家。2.计算牌点模块这个模块计算玩家和庄家手中的牌总点数,并判断是否超过21点。3.玩家决策模块这个模块允许玩家选择要牌或停牌,并相应更新玩家手中的牌。4.庄家决策模块这个模块根据规则判断庄家是否要牌,并相应更新庄家手中的牌。5.判胜模块这个模块判断玩家和庄家之间的牌点数比较结果,并输出游戏结果。6.游戏主循环这个模块负责控制游戏的流程,包括发牌、玩家决策、庄家决策和判胜等。程序设计实现本程序使用C语言编写,主要利用了条件语句、循环语句和函数等基本语法特性。首先,我们需要定义一副扑克牌,并初始化为52张牌。每张牌由花色和点数表示。typedefstruct{

charsuit;//花色

intrank;//点数

}Card;接下来,我们可以设计一个发牌函数,用于将牌堆中的牌发给玩家和庄家。发牌时,我们需要从牌堆中随机抽出一张牌,并将其放入玩家或庄家手中。voiddealCard(Card*deck,Card*hand,int*numCards);计算牌点数的函数非常重要,它需要遍历玩家或庄家手中的牌,并累加点数。在累加点数时,对A的处理比较特殊,因为A的点数可以是1或者11,需要根据当前手中的牌点数情况来决定。intcalculatePoints(Card*hand,intnumCards);玩家决策模块的函数需要提供交互界面,让玩家选择要牌或停牌。要牌表示从牌堆中拿一张牌,并加到玩家手中;停牌表示不再要牌,由庄家开始要牌。voidplayerDecision(Card*deck,Card*playerHand,int*numPlayerCards);庄家决策模块的函数需要根据规则判断庄家是否要牌。只有在庄家手中的牌点数小于17点时,庄家才需要继续要牌。voiddealerDecision(Card*deck,Card*dealerHand,int*numDealerCards);判胜模块的函数需要比较玩家和庄家手中的牌点数,并输出游戏结果。voiddetermineWinner(Card*playerHand,intnumPlayerCards,Card*dealerHand,intnumDealerCards);最后,我们需要设计游戏主循环,控制游戏的流程。主循环中我们需要调用发牌函数、玩家决策函数、庄家决策函数和判胜函数等。voidgameLoop();结论通过以上的程序设计,我们可以实现一个简单的21点游戏程序。该程序包含

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论