今天带用C++给大家一个狼人杀的语言游戏,希望大家能喜欢(#^.^#)!

直接上代码:

#include<bits/stdc++.h>
#include<windows.h>
#define  /*白色*/white SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
#define  /*初始色*/original SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
#define  /*红色*/red SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED);
#define /*绿色*/green SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN);
#define /*蓝色*/blue SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_BLUE);
#define /*黄色*/yellow SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN);
#define /*粉色*/pink SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_BLUE);
#define /*淡蓝*/lightblue SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN |FOREGROUND_BLUE);
using namespace std;
int life[7]={1,1,1,1,1,1};
int potions[5]={-1,1};
int vote[7]={0};
string name[7]={"预言家","女巫","平民","平民","狼人","狼人"};
int seer(int x,int y,int n,int p1,int p2,int l1,int l2)
{
int rescued;
int die;
int die_potions;
bool gameover=false;
while(gameover==false)
{cout<<endl<<"下一天:----------------------------"<<endl;for(int i=1;i<=4;i++){if(i==1&&(life[l1]>=0 or life[l2]>=0)){cout<<"狼人:"<<endl;srand((unsigned)time(NULL)); die=rand()%6;while(name[die]=="狼人"||life[die]==-1) die=rand()%6;life[die]--;cout<<"狼人杀了"<<name[die]<<endl;}if(i==2&&life[x]>=0){cout<<"预言家:"<<endl;cout<<"你是预言家,请输入0~5的编号(代表相应的人)(除了"<<x<<"号)来预言"<<endl;int res;cin>>res;if(name[res]=="平民"||name[res]=="女巫"||name[res]=="预言家") cout<<"好人"<<endl; if(name[res]=="狼人") cout<<"坏人"<<endl; }if(i==3&&life[n]>=0){cout<<"女巫:"<<endl;int dor;srand((unsigned)time(NULL)); dor=rand()%3;if(dor==0){die_potions=rand()%6;while(name[die_potions]=="女巫"||life[die_potions]<=0) die_potions=rand()%6;life[die_potions]--;potions[dor]++;cout<<"女巫杀了"<<name[die_potions]<<endl;}if(dor==1){int help;for(int i=0;i<6;i++) if(life[i]==0) life[i]++,help=i;potions[dor]--;cout<<"女巫救了"<<name[help]<<endl;}if(dor==2){cout<<"没用药"<<endl; }}if(i==4){int sum_die=0;cout<<"今晚";for(int j=0;j<6;j++){if(life[j]==0) {sum_die++;life[j]--;cout<<j<<"号"<<name[j]<<"死了"; }} if(sum_die==0) cout<<"是平安夜";int fl=0,fp=0;for(int j=0;j<6;j++){if(life[j]==1){if(name[j]=="狼人") fl++;else fp++;}}if(fl==0) {cout<<endl<<"平民赢了"<<endl; gameover=true;continue;}if(fp==0){cout<<endl<<"狼人赢了"<<endl;gameover=true; continue;}cout<<endl<<"投票"<<endl; int a[7]={0,0,0,0,0,0};for(int j=0;j<6;j++){if(j==x&&life[x]==1) {cout<<"请投0~5号你认为是狼人的";int ps;cin>>ps;a[ps]++; }else if(life[j]==1){srand((unsigned)time(NULL)); int cs;cs=rand()%6;while(life[cs]!=1||cs==j) cs=rand()%6;a[cs]++;}}cout<<"投票结果:"<<endl;cout<<"0 1 2 3 4 5"<<endl;for(int j=0;j<6;j++) cout<<a[j]<<" ";cout<<endl;int max=-1,mp;for(int j=0;j<6;j++) if(a[j]>=max) max=a[j],mp=j;cout<<mp<<"号"<<name[mp]<<"出局"<<endl<<endl;life[mp]=-1; int good=0,bad=0;for(int j=0;j<6;j++){if(life[j]==1&&(name[j]=="平民"||name[j]=="女巫"||name[j]=="预言家")) good++;if(life[j]==1&&name[j]=="狼人") bad++;}if(bad==0) {cout<<"平民赢了"<<endl;gameover=true;}if(good==0) {cout<<"狼人赢了"<<endl;gameover=true;}}}system("pause");
}
return 0;
}
int Lycan(int x,int y,int n,int p1,int p2,int l1,int l2)
{
int rescued;
int die;
int die_potions;
bool gameover=false;
while(gameover==false)
{cout<<endl<<"下一天:----------------------------"<<endl;for(int i=1;i<=4;i++){if(i==1&&life[x]>=0){cout<<"狼人:"<<endl;cout<<"你是狼人,请输入0~5的编号(代表相应的人)(除了"<<x<<"和"<<l1+l2-x<<"号)来杀死"<<endl; cin>>die;life[die]--;cout<<"狼人杀了"<<name[die]<<endl;}if(i==1&&life[x]==-1&&life[l1+l2-x]>=0){cout<<"狼人:"<<endl;srand((unsigned)time(NULL)); die=rand()%6;while(name[die]=="狼人"||life[die]==-1) die=rand()%6;life[die]--;cout<<"狼人杀了"<<name[die]<<endl;}if(i==2&&life[y]>=0){cout<<"预言家:"<<endl;cout<<"预言完毕"<<endl; }if(i==3&&life[n]>=0){cout<<"女巫:"<<endl;int dor;srand((unsigned)time(NULL)); dor=rand()%3;if(dor==0){die_potions=rand()%6;while(name[die_potions]=="女巫"||life[die_potions]<=0) die_potions=rand()%6;life[die_potions]--;potions[dor]++;cout<<"女巫杀了"<<name[die_potions]<<endl;}if(dor==1){int help;for(int i=0;i<6;i++) if(life[i]==0) life[i]++,help=i;potions[dor]--;cout<<"女巫救了"<<name[help]<<endl;}if(dor==2){cout<<"没用药"<<endl; }}if(i==4){int sum_die=0;cout<<"今晚";for(int j=0;j<6;j++){if(life[j]==0) {sum_die++;life[j]--;cout<<j<<"号"<<name[j]<<"死了"; }} if(sum_die==0) cout<<"是平安夜";int fl=0,fp=0;for(int j=0;j<6;j++){if(life[j]==1){if(name[j]=="狼人") fl++;else fp++;}}if(fl==0) {cout<<endl<<"平民赢了"<<endl; gameover=true;continue;}if(fp==0){cout<<endl<<"狼人赢了"<<endl;gameover=true; continue;}cout<<endl<<"投票"<<endl; int a[7]={0,0,0,0,0,0};for(int j=0;j<6;j++){if(j==x&&life[x]==1) {cout<<"请投0~5号你认为是狼人的";int ps;cin>>ps;a[ps]++; }else if(life[j]==1){srand((unsigned)time(NULL)); int cs;cs=rand()%6;while(life[cs]!=1||cs==j) cs=rand()%6;a[cs]++;}}cout<<"投票结果:"<<endl;cout<<"0 1 2 3 4 5"<<endl;for(int j=0;j<6;j++) cout<<a[j]<<" ";cout<<endl;int max=-1,mp;for(int j=0;j<6;j++) if(a[j]>=max) max=a[j],mp=j;cout<<mp<<"号"<<name[mp]<<"出局"<<endl<<endl;life[mp]=-1; int good=0,bad=0;for(int j=0;j<6;j++){if(life[j]==1&&(name[j]=="平民"||name[j]=="女巫"||name[j]=="预言家")) good++;if(life[j]==1&&name[j]=="狼人") bad++;}if(bad==0) {cout<<"平民赢了"<<endl;gameover=true;}if(good==0) {cout<<"狼人赢了"<<endl;gameover=true;}}}system("pause");
}
return 0;
}
int witch(int x,int y,int n,int p1,int p2,int l1,int l2)
{
int rescued;
int die;
int die_potions;
bool gameover=false;
while(gameover==false)
{cout<<endl<<"下一天:----------------------------"<<endl;for(int i=1;i<=4;i++){if(i==1&&(life[l1]>=0 or life[l2]>=0)){cout<<"狼人:"<<endl;srand((unsigned)time(NULL)); die=rand()%6;while(name[die]=="狼人"||life[die]==-1) die=rand()%6;life[die]--;cout<<"狼人杀了"<<name[die]<<endl;}if(i==2&&life[y]>=0){cout<<"预言家:"<<endl;cout<<"预言完毕"<<endl; }if(i==3&&life[n]>=0){cout<<"女巫:"<<endl;cout<<"你是女巫,请输入d、r、n。d代表要杀、r代表要救,n代表不用药"<<endl;char dor;cin>>dor;if(dor=='d'){cout<<"请输入0~5号你要杀的人(除了"<<n<<"号)"<<endl;cin>>die_potions;life[die_potions]--;potions[0]++;cout<<"女巫杀了"<<name[die_potions]<<endl;}if(dor=='r'){int help;for(int i=0;i<6;i++) if(life[i]==0) life[i]++,help=i;potions[1]--;cout<<"女巫救了"<<name[help]<<endl;}if(dor=='n'){cout<<"没用药"<<endl; }}if(i==4){int sum_die=0;cout<<"今晚";for(int j=0;j<6;j++){if(life[j]==0) {sum_die++;life[j]--;cout<<j<<"号"<<name[j]<<"死了"; }} if(sum_die==0) cout<<"是平安夜";int fl=0,fp=0;for(int j=0;j<6;j++){if(life[j]==1){if(name[j]=="狼人") fl++;else fp++;}}if(fl==0) {cout<<endl<<"平民赢了"<<endl; gameover=true;continue;}if(fp==0){cout<<endl<<"狼人赢了"<<endl;gameover=true; continue;}cout<<endl<<"投票"<<endl; int a[7]={0,0,0,0,0,0};for(int j=0;j<6;j++){if(j==x&&life[x]==1) {cout<<"请投0~5号你认为是狼人的";int ps;cin>>ps;a[ps]++; }else if(life[j]==1){srand((unsigned)time(NULL)); int cs;cs=rand()%6;while(life[cs]!=1||cs==j) cs=rand()%6;a[cs]++;}}cout<<"投票结果:"<<endl;cout<<"0 1 2 3 4 5"<<endl;for(int j=0;j<6;j++) cout<<a[j]<<" ";cout<<endl;int max=-1,mp;for(int j=0;j<6;j++) if(a[j]>=max) max=a[j],mp=j;cout<<mp<<"号"<<name[mp]<<"出局"<<endl<<endl;life[mp]=-1; int good=0,bad=0;for(int j=0;j<6;j++){if(life[j]==1&&(name[j]=="平民"||name[j]=="女巫"||name[j]=="预言家")) good++;if(life[j]==1&&name[j]=="狼人") bad++;}if(bad==0) {cout<<"平民赢了"<<endl;gameover=true;}if(good==0) {cout<<"狼人赢了"<<endl;gameover=true;}}}system("pause");
}
return 0;
}
int commoner(int x,int y,int n,int p1,int p2,int l1,int l2)
{
int rescued;
int die;
int die_potions;
bool gameover=false;
while(gameover==false)
{cout<<endl<<"下一天:----------------------------"<<endl;for(int i=1;i<=4;i++){if(i==1&&(life[l1]>=0 or life[l2]>=0)){cout<<"狼人:"<<endl;srand((unsigned)time(NULL)); die=rand()%6;while(name[die]=="狼人"||life[die]==-1) die=rand()%6;life[die]--;cout<<"狼人杀了"<<name[die]<<endl;}if(i==2&&life[y]>=0){cout<<"预言家:"<<endl;cout<<"预言完毕"<<endl; }if(i==3&&life[n]>=0){cout<<"女巫:"<<endl;int dor;srand((unsigned)time(NULL)); dor=rand()%3;if(dor==0){die_potions=rand()%6;while(name[die_potions]=="女巫"||life[die_potions]<=0) die_potions=rand()%6;life[die_potions]--;potions[dor]++;cout<<"女巫杀了"<<name[die_potions]<<endl;}if(dor==1){int help;for(int i=0;i<6;i++) if(life[i]==0) life[i]++,help=i;potions[dor]--;cout<<"女巫救了"<<name[help]<<endl;}if(dor==2){cout<<"没用药"<<endl; }}if(i==4){int sum_die=0;cout<<"今晚";for(int j=0;j<6;j++){if(life[j]==0) {sum_die++;life[j]--;cout<<j<<"号"<<name[j]<<"死了"; }} if(sum_die==0) cout<<"是平安夜";int fl=0,fp=0;for(int j=0;j<6;j++){if(life[j]==1){if(name[j]=="狼人") fl++;else fp++;}}if(fl==0) {cout<<endl<<"平民赢了"<<endl; gameover=true;continue;}if(fp==0){cout<<endl<<"狼人赢了"<<endl;gameover=true; continue;}cout<<endl<<"投票"<<endl; int a[7]={0,0,0,0,0,0};for(int j=0;j<6;j++){if(j==x&&life[x]==1) {cout<<"请投0~5号你认为是狼人的";int ps;cin>>ps;a[ps]++; }else if(life[j]==1){srand((unsigned)time(NULL)); int cs;cs=rand()%6;while(life[cs]!=1||cs==j) cs=rand()%6;a[cs]++;}}cout<<"投票结果:"<<endl;cout<<"0 1 2 3 4 5"<<endl;for(int j=0;j<6;j++) cout<<a[j]<<" ";cout<<endl;int max=-1,mp;for(int j=0;j<6;j++) if(a[j]>=max) max=a[j],mp=j;cout<<mp<<"号"<<name[mp]<<"出局"<<endl<<endl;life[mp]=-1; int good=0,bad=0;for(int j=0;j<6;j++){if(life[j]==1&&(name[j]=="平民"||name[j]=="女巫"||name[j]=="预言家")) good++;if(life[j]==1&&name[j]=="狼人") bad++;}if(bad==0) {cout<<"平民赢了"<<endl;gameover=true;}if(good==0) {cout<<"狼人赢了"<<endl;gameover=true;}}}system("pause");
}
return 0;
}
int main()
{
begin:
white
cout<<"          狼人杀"<<endl;
yellow
cout<<"1个预言家 ";
yellow
cout<<"1个女巫 " ;
yellow
cout<<"2个平民 ";
green
cout<<" 2个狼人"<<endl;
original
Sleep(1000);
srand((unsigned)time(NULL));
for(int i=1;i<=1000;i++)
{int x=rand()%6; int y=rand()%6;swap(name[x],name[y]);
}
int player=rand()%6;
cout<<"你是";
red
cout<<name[player]<<endl;
original
cout<<"您的编号是"<<player<<endl<<endl;
Sleep(2000);
int l1,l2,l=1;
int y;
int n;
int p1,p2,p=1;
for(int i=0;i<6;i++)
{if(name[i]=="狼人"&&l==1) {l1=i;l++;continue;}if(name[i]=="狼人"&&l==2) l2=i,l++;if(name[i]=="预言家") y=i;if(name[i]=="女巫") n=i;if(name[i]=="平民"&&p==1) {p1=i;p++;continue;}if(name[i]=="平民"&&p==2) p2=i,p++;
}
if(player==y) seer(player,y,n,p1,p2,l1,l2);
if(player==l1 or player==l2) Lycan(player,y,n,p1,p2,l1,l2);
if(player==n) witch(player,y,n,p1,p2,l1,l2);
if(player==p1 or player==p2) commoner(player,y,n,p1,p2,l1,l2);
else return 0;
}

这个是根据别人的代码改编的,感兴趣的可以试试!

用DEV-C++制作狼人杀相关推荐

  1. 官狼服务器临时维护,官狼三分钟新模式,跑跑狼人杀如何边跑边杀

    作为风靡全球的桌游,狼人杀一度成为了国内白领.学生党的国民游戏.随着网络的普及,很多玩家开始转求线上网杀,网易<狼人杀官方>因为玩法最多画风好看,一直是大多数人的选择.而就在最近,< ...

  2. c++狼人杀12人标准场有发言有选警附exe文件

    制作不易,转载请附原出处,Thanks♪(・ω・)ノ 标题是不是非常的美好~~,作为狼人杀玩家,应该都懂c++上你能玩到什么,但是,没有发言的狼人杀是没有精髓的!!!所以,本人尝试着写了一点套路化.模 ...

  3. 狼人杀凉了,贴着AI标签的剧本杀如何构建自己的商业版图

    文 | 魏启扬 来源 | 智能相对论(ID:aixdlun) "天黑请闭眼". 这是"狼人杀"的开场台词,也可用来形容"狼人杀"的现状--前 ...

  4. React Native按需加载 手Q狼人杀探索之路

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/mUzq4NaBHeF3T-NStLzuRw 作者:pe ...

  5. React Native 按需加载 手Q狼人杀探索之路

    导语:最近特别火的狼人杀和最近特别火的React Native会擦出什么样的火花呢?本文和您一同探讨RN性能优化的现实场景. 项目简介: 狼人杀游戏是多人实时性游戏,对流畅度等性能都有要求.作为大型游 ...

  6. 肢解“文件夹图标”病毒,制作专杀工具——“郑大扫帚”

    肢解"文件夹图标"病毒,制作专杀工具--"郑大扫帚" 回想2009年7-8月份,学校机房被"文件夹图标病毒"变成了病毒"集散地&q ...

  7. 喵哈哈村的狼人杀大战(4)

    http://qscoj.cn/problem/33/ 描述 喵哈哈村最近热衷于玩一个叫做狼人杀的游戏! 徐元帅同学今天他抽到的是女巫的身份,按照他的一贯玩法,他喜欢一开始就把自己毒死. 于是他早早的 ...

  8. 剧本杀,继狼人杀之后的下一个风口

    "剧本杀"简介 2018年上半年,随着几款连麦推理社交游戏的上架,"剧本杀"一词开始迅速走红,有望成为继狼人杀之后的下一个风口级游戏. "剧本杀&qu ...

  9. 产品经理被首杀一万次的真相?CTO怼天怼地的原因?市场妹子缘何咆哮?欢迎走近这局互联网狼人杀~...

    产品经理被首杀一万次的真相?CTO 怼天怼地的原因?市场妹子缘何咆哮?项目经理能有多两面三刀?号称滨江吴彦祖的测试小哥到底长啥样?长相酷似曾志伟的架构师居然被叫小可爱?运营萌妹怎么就这么呆?前端小鲜肉 ...

  10. 狼人杀服务器维护时间,狼人杀官 方将于11月30日进行停机维护

    狼人杀官 方将于11月30日进行停机维护.此次更新将更改一些设定,新增活动和关闭前面的活动,优化和修复一下问题,狼友们可以了解一下更新内容. 亲爱的狼队友: 为了保证服务器的稳定和服务质量,我们将于2 ...

最新文章

  1. pytorch模型3.13
  2. python 商城api编写_Python实现简单的API接口
  3. git21天打卡day15-添加提交修改文件
  4. 无法使用struts2注释_带有注释且没有struts.xml文件的Struts 2 Hello World示例
  5. 给宝宝的固态硬盘装机教程
  6. java学习总结及心得体会
  7. 数字图像处理_冈萨雷斯
  8. 第九届蓝桥杯 乘积尾零
  9. Linux 安装 菜鸟教程,Linux安装Nginx(菜鸟教程简单易懂)
  10. iOS崩溃日志ips文件解析
  11. 合成孔径 saft matlab,合成孔径聚焦超声成像系统的计算机仿真
  12. 苹果plus html,iPhoneX 苹果8 8PLus区别:所有功能参数 最详细全面对比
  13. 扫雷小游戏制作全过程
  14. 无法打开文件“d3dx9.lib_三个小技巧,教会你解决无法打开手机文件问题
  15. mybatis中count(*)与count (*)的区别
  16. 【CSS】静态螺纹进度条和静态流程布局
  17. java 修改word属性_Java修改/替换Word批注
  18. 安装 AWS Load Balancer Controller 附加组件
  19. 钛资本研究院:创业公司如何搭建高管团队,实现组织跃升?
  20. 打印功能window.print()

热门文章

  1. AT91SAM7SE应用 -- UART
  2. Android-SEAndroid权限问题指南
  3. 什么是直方图,如何使用它来改善照片?
  4. linux 搭建技术博客,Linux NTP服务器搭建精讲
  5. python保存模型方法_TensorFlow模型保存和提取的方法
  6. LeetCode:934. Shortest Bridge - Python
  7. 电磁场有限元基本原理(1)边界条件
  8. css3 3d 太阳系,CSS3实现的太阳系行星系统
  9. 天马行空 | 假如上网装X需要花钱?
  10. 云计算的发展趋势(一)云计算相关领域介绍