C语言扑克牌游戏示例

 更新时间:2021年12月23日 08:41:08   作者:DM_LL  
大家好,本篇文章主要讲的是C语言扑克牌游戏示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

一、 设计目的

扑克牌是我们从小玩到大的纸牌类小游戏,我们有各种玩法跟不同的规则。我之所以选择的这个扑克牌,是因为我觉得可以提高我的编程逻辑能力跟运用循环的能力。还能让我自由运用所学知识完成我的项目设计的需求,对我综合能力的能力很有挑战!

二、 设计内容与要求

(1)设计内容:扑克牌游戏。

(2)介绍扑克牌:一副没有大小王的52张牌,该牌从大到小的顺序为:2、3、4、5、6、7、8、9、10、J、Q、K、A。

(3)设计的比赛规则是:为每位玩家随机分配13张牌,设计以玩家1为最先发牌者,并且可以任意n(1 <=n<= 4)张出牌,并且下一位玩家的牌数要与上一位玩家所出的牌的数量一致,并且比上位玩家大,只要有一个玩家的牌出完则该玩家胜利,游戏结束。

三、 设计思路

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、 实现过程

洗牌时使用rand函数,使每次产生的随机数与上一次的不相同,随机数范围在1到52之间,并且弄个循环,保证每次产生的数字都与之前的不一样。另外,定义一个结构体,把每次产生的随机数都放进这个结构体中。程序中每个玩家都必须出牌,所以要定义一个函数将数字分别转变为纸牌。将玩家出过的牌赋值为13,依次达到标记删除的目的。以玩家1为首先打牌者,从最小的牌开始,有几张一样的都出,以此达到任意n(1<=n<=4)张出牌的目的,玩家2看有没有牌大于玩家1,如果有则出牌,没有就轮到玩家3,同理轮到玩家4。把每个玩家已经打过的牌进行赋值为13,目的就是防止再一次打牌。当所有玩家没有出牌时,上轮赢的玩家就会重新出牌。游戏结束是以某位玩家的牌先出完为胜。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、 结论与改进

项目已完成的效果:

\1. 一副扑克52张牌,从小到大的顺序为:2、3、4、5、6、7、8、9、10、J、Q、K、A,

\2. 由电脑随机洗牌,并分成4份(4个电脑玩家),并设计出一个对弈函数,每家调用该函数实现自动出牌;出牌后,若所有下家都没有牌出,则当前这一家可以选择出其它牌。一次出牌可以是1张、2张一样、3张一样或者4张一样,下家所出的牌,需要大于上家出的牌,若上家出2张一样的,那下家也要出2张一样的,而且比它大的牌;

到此这篇关于C语言扑克牌游戏示例的文章就介绍到这了,更多相关C语言扑克牌内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于OpenCV和C++ 实现图片旋转

    基于OpenCV和C++ 实现图片旋转

    这篇文章主要介绍了基于OpenCV和C++ 实现图片旋转,帮助大家更好的利用c++处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • 一文读懂C++中的继承之菱形继承(案例分析)

    一文读懂C++中的继承之菱形继承(案例分析)

    这篇文章主要介绍了C++中的继承之菱形继承的相关知识,通过案例给大家详细分析介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-04-04
  • C++私有继承(二)

    C++私有继承(二)

    这篇文章主要介绍了C++私有继承,在私有继承时,基类的公有对象以及保护对象会变成派生类的私有对象。我们可以在派生类方法当中使用它,但无法通过派生类对象直接调用,但无法访问基类的私有方法和对象,下面具体内容,需要的朋友可以参考一下
    2022-01-01
  • c语言随机数函数示例

    c语言随机数函数示例

    这篇文章主要介绍了c语言随机数函数示例,需要的朋友可以参考下
    2014-04-04
  • C语言快速掌握位段使用

    C语言快速掌握位段使用

    位段位段的声明和结构是类似的,但是也会有所不同,此篇文章将带你了解位段是什么已以及位段的使用和位段的特性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • VC中SendMessage和PostMessage的区别

    VC中SendMessage和PostMessage的区别

    这篇文章主要介绍了VC中SendMessage和PostMessage的区别,较为全面的分析了SendMessage和PostMessage运行原理及用法上的不同之处,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C&C++设计风格选择 命名规范

    C&C++设计风格选择 命名规范

    本文难免带有主观选择倾向,但是会尽量保持客观的态度归纳几种主流的命名风格,仅供参考
    2018-04-04
  • 最新C语言中getchar的使用

    最新C语言中getchar的使用

    getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab) ,getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,本文给大家介绍getchar的使用,感兴趣的朋友跟随小编一起看看吧
    2022-12-12
  • C++数据结构深入探究栈与队列

    C++数据结构深入探究栈与队列

    栈和队列,严格意义上来说,也属于线性表,因为它们也都用于存储逻辑关系为 "一对一" 的数据,但由于它们比较特殊,本章讲解分别用队列实现栈与用栈实现队列
    2022-05-05
  • C++超详细讲解操作符的重载

    C++超详细讲解操作符的重载

    C++预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对这么运算符进行重新定义,赋予其新的功能,以满足自身的需求
    2022-06-06

最新评论