目录

1.前言

2.程序效果

3.完整代码


1.前言

新年将至,亲戚朋友在家中免不了玩一下桌游,狼人杀确实是一个不错选择。那么针对正常的狼人杀玩法(8人局和12人局),博主利用一上午时间做了一个《狼人杀自动发牌系统》(可查看游戏教程和人物属性)。接下来就直接看程序效果和完整代码吧!

2.程序效果

3.完整代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>void charability();void gamerule8();void gamerule12();void sortplayer(int x);void giveplayer8();void giveplayer12();int main()
{while(1){int number; printf("-----------------------------------输入“1”选择发牌模式(8人局 or 12人局)--------------------------------------------\n");printf("------------------------------------------输入“2”查看游戏规则--------------------------------------------------------\n"); printf("------------------------------------------输入“3”查看角色技能-------------------------------------------------------\n");printf("------------------------------------------输入“4”退出游戏------------------------------------------------------------\n");printf("请输入:\n");scanf("%d",&number);if(number==1){int number2; system("cls");printf("------------------------------------------输入“1”为8人局模式发牌-----------------------------------------------------\n");printf("------------------------------------------输入“2”为12人局模式发牌----------------------------------------------------\n");printf("请输入:\n");scanf("%d",&number2);system("cls");if(number2==1){giveplayer8();}else if(number2==2){giveplayer12();   }else{goto start;}}else if(number==2){system("cls");int number4;printf("----------------------------------------输入“1”查看8人局规则-----------------------------------------------------\n");printf("----------------------------------------输入“2”查看12人局规则-----------------------------------------------------\n");   printf("请输入:\n");scanf("%d",&number4);system("cls");if(number4==1){gamerule8();}else if(number4==2){gamerule12();}else{goto start;}}else if(number==3){charability();}else if(number==4){break;}else{start:printf("----------------------------------------请重新输入正确的指令--------------------------------------------------\n\n");}
}system("cls");printf("-------------------------------------------游戏结束--------------------------------------------------------------------\n");printf("-------------------------------------------游戏结束--------------------------------------------------------------------\n");printf("-------------------------------------------游戏结束--------------------------------------------------------------------\n");printf("--------------------------------------MADE BY CSDN: Wccyy883-----------------------------------------------------------\n");system("pause");return 0;
}
void charability()
{system("cls");printf("1.普通村民:\n本身没有任何能力,一觉睡到天亮却要考虑很多事情。平民会接收到真假混杂的信息,需要从中分辨和判断出正确的信息。\n");printf("2.狼人:\n每天晚上会残忍地杀害一个村民,到了白天,狼人要假扮村民隐藏自己的身份,故意误导或陷害其他村民。\n") ;printf("3.预言家:\n每晚预言家可以窥视一个玩家的真实身份,是村庄里的灵魂人物,带领好人走向胜利。\n"); printf("4.女巫:\n女巫拥有两瓶药,解药可以救活一名当晚被狼人杀害的玩家,毒药可以毒杀一名玩家,女巫在每天晚上最多使用一瓶药,女巫不可自救.\n");printf("5.猎人:\n当猎人被狼人杀害或被村民处决时,他可以射杀任意一个玩家。但当猎人由于意外死亡(如女巫的毒药或者被殉情而死)他不可在死前射出子弹\n");printf("6.警长:\n附加身份牌,游戏开始后第一天从所有玩家中通过投票选举出一名玩家授予警长。警长在白天最后发言并且投票时有1.5 票。\n");printf("7.白痴:\n好人阵营,隐神牌,白痴平时与普通村民无异,但当他被村民票死的时候,他可以翻牌亮出身份,若如此做就能免死。在所有玩家发言结束后,多一次发言机会,但是翻牌以后的白痴不能投票。\n");
}
void gamerule8()
{printf("8人狼人杀的配置一般为:3个狼、2个平民、1个预言家、1个猎人和1个女巫,这也是能凑成一局狼人杀最基本的搭配\n"); printf("因为正常情况下一局狼人杀无论人数多少都需要3个狼人和3个神职人员,否则游戏很难进行下去,平民人数则根据你们现实的人数进行调整\n"); }
void gamerule12()
{printf("(标准12人局包括:4个平民,4个狼人,1个预言家,1个女巫,1个猎人,1个白痴) 法官:天黑请闭眼,狼人请睁眼。 假如你手牌是狼人(即12号玩家):\n");printf("法官:天黑请闭眼,狼人请睁眼。 假如你手牌是狼人(即12号玩家): 你需要睁开眼睛,此时会看见另外3个睁眼玩家,没错,他们就是你的狼同伴了,你的任务就是和他们一起,携手把好人杀掉。\n");printf("你无需比划任何手势,也不需要努力去参透伙伴中所谓的高玩在比划的任何手势,静静的看着他们即可,仅仅只需要记住伙伴们最终向法官出示的选择杀掉的那个号码。 然后闭眼,等待。 法官:狼人请闭眼,女巫请睁眼。\n");printf("假如你手牌是女巫(即11号玩家): 整局游戏女巫手上有 一瓶救药 和 一瓶毒药,分别用来 救一个人 和 毒死一个人。 每一个晚上最多使用一瓶。\n");}   void sortplayer(int x)
{if(x==1)printf("普通平民\n");else if(x==2)printf("普通平民\n");else if(x==3)printf("狼\n");else if(x==4)printf("狼\n");else if(x==5)printf("狼\n");else if(x==6)printf("女巫\n");else if(x==7)printf("预言家\n");else if(x==8)printf("猎人\n"); else if(x==9)printf("普通平民\n");else if(x==10)printf("普通平民\n");else if(x==11)printf("狼\n");else if(x==12)printf("白痴\n");
}
void giveplayer8()
{srand(time(NULL));int a[8]={0};int i;int all;for(i=0;i<8;i++){while(1){all=rand()%8+1;int j,t;t=0;for(j=0;j<8;j++){if(a[j]==all){t=1;}}if(t==0){break;}}a[i]=all;}printf("\n");for(i=0;i<8;i++){printf("%d号玩家身份:\n",i+1);sortplayer(a[i]);}}void giveplayer12()
{srand(time(NULL));int a[12]={0};int i;int all;for(i=0;i<12;i++){while(1){all=rand()%12+1;int j,t;t=0;for(j=0;j<12;j++){if(a[j]==all){t=1;}}if(t==0){break;}}a[i]=all;}printf("\n");for(i=0;i<12;i++){printf("%d号玩家身份:\n",i+1);sortplayer(a[i]);}
}

用c语言实现《狼人杀》发牌系统【可自选模式】相关推荐

  1. 6人版狼人杀发牌器java版

    import java.util.Random; import java.util.Scanner; public class Randomtest {public static void main( ...

  2. 狼人杀发牌代码简单设计图

    代码:我把思想发了,如果完成实现不了,我给你代码.反正是学习吗,哈哈哈哈哈哈

  3. 比赛评分系统php,狼人杀比赛专用评分方式!(附:胜率系统)

    01 最近狼人杀的各种赛事比较多,PSL.WCO等等,我们狼人杀爱好者目不暇给的同时,令人困惑的一个问题是: 狼人杀比赛没有一个统一的评分系统! 一场比赛下来,可能最多也就能打4.5局.如果只是简单地 ...

  4. 狼人杀游戏法官主持软件和会员管理积分系统开发

    工具介绍 狼人杀游戏中法官是整个游戏进程的主导者,玩家的游戏体验与法官的素质直接挂钩,在游戏中的重要性不言而喻.培养一个合格的法官成本是巨大的,统一所有法官对游戏规则认知也是困难的,因为每个法官对游戏 ...

  5. 假面科技“狼人杀APP”全面升级网络反赌系统,风控能力防范赌博等行为

    "患生于所忽,祸起于细微",没有意识到风险,便会成为最大的风险.进入信息时代,互联网作为人类重要的社会活动空间,做好相应的防控工作,营造一个绿色.安全的网络平台环境,才能保证互联网 ...

  6. 狼人杀c语言,微赛狼人杀正式版C位出道

    伴随着烈焰夏日的开始,研发大大们细心修改的微赛狼人杀正式版终于与大家见面了! "秀装扮.盘逻辑"微赛狼人杀正式版本已上线,全新的体验即将开启! BUG和调整 1.修改游戏登录界面背 ...

  7. 狼人杀c语言代码,1089 狼人杀-简单版——C/C++实现

    题目 1089 狼人杀-简单版 (20 point(s)) 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀&quo ...

  8. 1089 狼人杀-简单版(C语言实现)

    以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家说:"2 号是狼人" ...

  9. 假面科技披露赌博处理情况 狼人杀APP反赌系统将持续开发

    6月20日,曾火爆一时的社交推理软件"狼人杀"被央视爆出有人利用其进行赌博,随后"狼人杀APP"主动从应用市场下架.近日,有业内人士表示:经过整改后," ...

最新文章

  1. ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
  2. 动态调试 ida linux,IDA动态调试-ELF
  3. 浅谈系统如何对接社交登录之微博登录功能
  4. 从HDFS看分布式文件系统的设计需求
  5. C++ mmap 多进程文件读写
  6. atmega128 单片机 智能 台灯 控制器 PWM ADC 时间 光敏电阻 proteus 仿真
  7. Chainlink的77种用法
  8. 2022智源大会议程公开 | 预训练大模型论坛
  9. 手写BundleAdjustment(尽量仅使用eigen库)
  10. Apache 重写规则及参数详解,入门看这个就够了
  11. 搭档之家:就离谱!!! “假通知书”在淘宝突然泛滥 阿里:已处罚,欢迎大家举报
  12. 分布式记账的几种方式
  13. c语言double可以代表整型么,C语言中整型变量(int)实型变量(float)双精度变量(double)到底是什么东西?有什么区...
  14. 【python第五章——函数】
  15. 容器化技术Docker由入门到实战
  16. linux如何连接redis
  17. 计算机科学与技术书单
  18. 数据类型 varbinary 和 varchar 在 add 运算符中不兼容。
  19. python 类型标注-typing --- 类型标注支持 — Python 3.7.9 文档
  20. LabVIEW编程LabVIEW控制KELLER压力传感器例程与相关资料

热门文章

  1. 计算机的典型应用及事例,计算机网络典型应用案例精选
  2. 二、MM模块主数据管理(一)——物料主数据管理
  3. 网关冗余和负载平衡简介
  4. pyhton中r‘‘表达式的语法
  5. 两块串口硬盘从盘不识别
  6. 中职计算机专业课题,《中职计算机教学中激励机制的研究》课题开题报告
  7. 新产品开发的项目管理
  8. CryENGINE 3
  9. Nginx教程 :nginx URL 重写
  10. 【力扣LeetCode】22 括号生成