Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PokerGame

关于扑克游戏的大学生期末小组作业


关于小组作业的事项安排:

  1. 我们将采用Github进行版本管理与更新日志汇总,方便统一进度、小组合作
  2. 我们需要将自定义函数统一在一个 .c 文件中编写,并统一在一个 .h 文件中声明
  3. 我们将遵循看变量名与函数名知道功能的命名规则,不允许使用拼音命名法,同时每个变量定义时旁边应有注释注明功能
  4. 我们不应出现莫名奇妙的常数,如出现常数,要么使用注释,要么使用#define
  5. 常量命名应为全大写英语,若单词过长请使用下划线隔开,如:SUDENT_GRADE
  6. 变量名如过长一样应采取下划线分割的方式,不过请使用小写字母
  7. 我们将采用 .docx 格式编写报告文档
  8. 我们将采用markdown编写日志、更新等
  9. 格式美观方面:
    • 功能强相关的代码应放在一起,组成一个代码段,前后都应有空行与其余代码段隔开
    • 逗号后面应加一个空格,如: printf("%s", c);
    • 各种关系符的前后都应加空格,如:if (s == NULL || n < 0 || len < 0)
    • 如果A在B的代码块(即花括号中)那么B的所有内容的首行应比A多一个Table键的缩进
    • 成对的{}应出现在同一列上,便于查找
      如:
	for (i = n;; i++)
    	{
        	*(s + i) = *(s + i + len);
        	if (*(s + i + len) == ' ')
        	{
            		break;
        	}
    	}

游戏规则

  1. 玩家选择是否继续游戏
  2. 输入玩家数量
  3. 为每位玩家发五张牌
  4. 点数中1为最小点,13为最大点
  5. 花色从小到大依次为:♦、♣、♥、♠
  6. 比较每位玩家的牌型的大小,大者胜
    从大到小依次是:
    1. 同花顺(花色相同的顺子)
    2. 顺子(点数依次递增的五张牌)
    3. 炸弹(四张点数相同的牌)
    4. 三带二(三张点数相同的牌带上一对对子)
    5. 三张(三张点数相同的牌)
    6. 两对(两对对子)
    7. 对子(两张点数相同的牌)
  7. 若牌型相同,则比较玩家手牌中关键牌(让其拥有牌型的牌)的点数大小,若有多张,取最大
  8. 若该点数还相同,则比较关键牌花色大小

关于下注规则

所有玩家一开始都有相等的资产,每局玩家都必须进行一个固定数值的下注。玩家一开始能看到自己的全部牌,而只能看到其余玩家的部分牌(比如每人都展示三张牌),这时电脑玩家应基于自己的手牌,通过胜负预测函数进行胜率预测,该预测数值达到某一值后,电脑会选择翻倍赌注。同样的,人类玩家也应通过其他玩家是否加注,结合场上情况,判断自己是否翻倍,最终获胜者会获得其余玩家下的赌注乘上对应倍数的资产,若有玩家资产低于0将被踢出对局,场上玩家数量会对应地减少,直到人类玩家资产为0 / 人类玩家退出游戏 / 场上仅剩人类玩家一人

更新日志

2025.11.19 21:32

创建了Github的项目仓库,新增README,PPT和word文档

2025.11.22 14:40

简单地构建了代码框架,其中Library用于存放.h文件,Doc用于存放.c文件

加入了有关是否退出或继续、输入玩家数量、发牌的函数

2025.11.22 22:22

完成了判断胜负的函数的书写

2025.11.23 22:52

简单修改了判断胜负的逻辑使其更符合直觉

在README中加入了待办事项便于合作

在README中加入了详细的游戏规则

完善了对卡牌的显示


待办事项

  • 加入下注功能
  • 加上预测胜率功能
  • 加入存储玩家ID与资产功能
  • 将是否继续游戏、发牌、看牌等部分使用EazyX库图形化

About

关于扑克游戏的大学生期末小组作业

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages