c++_游戏_狼人杀

ops/2025/1/15 21:41:03/

思路主要包括以下几个部分:

  1. 角色分配:代码中通过随机数的方式给狼人、平民、预言家和法师等角色进行分配,保证每个角色的数量和身份的随机性。

  2. 游戏进行:根据狼人、平民、预言家和法师等角色的身份,游戏进行了夜晚和白天的交替,每个角色根据自己的身份进行相应的行动,比如狼人选择杀人、预言家选择预言等。

  3. 游戏结束条件:游戏根据角色的行动和玩家的投票,判断游戏是否结束,比如狼人全部被杀死或者平民被全部杀死等。

    #include <bits/stdc++.h>
    #include <windows.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <stdio.h>
    #define random(a,b) (rand()%(b-a+1)+a)
    using namespace std;//命名空间
    int a[6]={0,0,0,0,0,0};
    struct node{string sf;
    }sfs[4];
    void wolf(){int x;x= random(1,6);a[x-1]=3;return ;
    }
    void yu(){int x,y=0;while(y==0){x= random(1,6);if(a[x-1]==0){y=1;a[x-1]=1;return ;}}
    }
    void fa(){int x,y=0;while(y==0){x= random(1,6);if(a[x-1]==0){y=1;a[x-1]=2;return ;}}
    }
    void printsetence(string &text, int interval) {int n = text.length();for (int i=0; i<n; i++) {cout<<text[i];Sleep(interval);}return;
    }
    int main(){//主函数sfs[0].sf="平民";sfs[1].sf="预言家";sfs[2].sf="法师";sfs[3].sf="狼";cout<<" 狼 :1 平:3 预:1 法:1" <<endl;srand((unsigned)time(NULL));wolf();srand((unsigned)time(NULL));fa();srand((unsigned)time(NULL));yu();system("color 87") ;system("pause") ;system("cls");string text = "你是1号,你的身份是:";printsetence(text,25);cout<<sfs[a[0]].sf<<endl;system("color 87") ;system("pause") ;system("cls");int tian=0; while(1){tian++;cout<<"第"<<tian<<"夜";system("color 87") ;system("pause") ;system("cls");int flag=0;if(a[0]==3){flag=1;int shu;cout<<"你要刀几号?"<<endl;cin>>shu;a[shu-1]+=4;system("color 87") ;system("pause") ;system("cls");}else if(a[0]==2){cout<<"今晚你要毒还是救";string shu1;cin>>shu1;system("color 87") ;system("pause") ;system("cls");if(shu1=="毒"){cout<<"你要毒几号" ;int shu;cin>>shu;a[shu-1]+=4;}else{cout<<"你要救几号" ;int shu; cin>>shu;if(a[shu-1]>=4){a[shu-1]-=4;}}system("color 87") ;system("pause") ;system("cls");}else if(a[0]==1){cout<<"今晚你要预言几号";int shu;cin>>shu;system("color 87") ;system("pause") ;system("cls");cout<<"他的身份是";cout<<sfs[a[shu-1]].sf<<endl;system("color 87") ;system("pause") ;system("cls");}else{int flagg=0;while(flagg==0) {srand((unsigned)time(NULL));int b=random(1,6);if(a[b-1]<4){flagg=1;a[b-1]+=4;}}	} if(flag==0){srand((unsigned)time(NULL));a[random(1,6)-1]+=4;}int sum=0;cout<<"天亮了,过了今晚还剩";for(int i=0;i<6;i++){if(a[i]<4){cout<<i+1<<"号"<<" ";sum++;}else if(i==0){system("pause") ;system("cls");cout<<"你被杀了"<<endl;system("pause") ;system("cls");return 0;}else if(a[i]==7){cout<<"狼死了";system("color 87") ;system("pause") ;system("cls");return 0;}} system("color 87") ;system("pause") ;system("cls");int mx=0,mxx,n,piao[6]={0,0,0,0,0,0};cout<<"请投票"<<endl;cin>> n;piao[n-1]++;sum-=1;while(sum--){srand((unsigned)time(NULL));piao[random(1,6)-1]++;}for(int i=0;i<6;i++){cout<<i+1<<"号:"<<piao[i]<<"票 "; if(mx<piao[i]){mx=piao[i];mxx=i+1;}}cout<<endl;cout<<mxx<<"号出局"<<endl;if(mxx-1==0){system("pause") ;system("cls");cout<<"你被票了"<<endl;system("pause") ;system("cls");return 0;}a[mxx-1]+=4;if(a[mxx-1]==7){cout<<"他是狼"; system("color 87") ;system("pause") ;system("cls");return 0;//返回值}}return 0;//返回值
    }


http://www.ppmy.cn/ops/93059.html

相关文章

CSS的重绘和重排是什么?

你好同学&#xff0c;我是沐爸&#xff0c;欢迎点赞、收藏和关注。个人知乎 在CSS中&#xff0c;元素的某些属性的变化会触发浏览器的重绘&#xff08;Repaint&#xff09;或重排&#xff08;Reflow&#xff0c;也称为重渲染或回流&#xff09;。了解这些差异可以帮助开发同学优…

AI 手机的技术展望

某某领导问到我&#xff0c;AI手机这个产业发展如何&#xff1f;对于&#xff0c;地方科技园区&#xff0c;应该如何发展相关产业&#xff1f;我一时还真说不上来&#xff0c;于是&#xff0c;查了一下资料&#xff0c;大概应对了一下。 一&#xff1a;AI手机的定义 首先&…

Android顶部标题栏自定义,添加按钮

1. 先写一个标题栏的layout, 放在工程的res/layout下&#xff0c;如下: <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_par…

windows和office微软官方免费激活教程

微软提供了windows系统和office的官方免费激活&#xff0c;其实不用去买什么激活码&#xff0c;官方提供了激活方式&#xff0c;完全免费。目前测试没发现什么问题&#xff0c;windows还支持永久激活&#xff0c;比一些乱七八糟的kms激活工具还省心。 github地址&#xff1a;Gi…

【matlab版】如何利用代码计算声音信号的声压级

1、声压&#xff08;Sound Pressure&#xff09; 声压是声波传播过程中引起的介质&#xff08;如空气、水等&#xff09;中的压力变化。它是声波的基本物理量之一&#xff0c;用来描述声波在某一位置上的瞬时压力大小。 声压的单位是帕斯卡&#xff08;Pa&#xff09;&#x…

甄选范文“论数据湖技术及其应用”软考高级论文系统架构设计师论文

论文真题 请围绕“数据湖技术及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。 2.详细阐述数据湖技术,并从主要数据来源、数据模式(Schema)转换时机、数据存储成本、数据质量、面对用户和主要支撑…

贝叶斯优化算法(Bo)与最小二乘支持向量机(LSSVM)结合的预测模型(Bo-LSSVM)及其Python和MATLAB实现

### 一、背景 在机器学习领域&#xff0c;模型的性能往往依赖于其超参数的选择。这些超参数的调优是一个重要而复杂的问题&#xff0c;尤其在复杂模型&#xff08;如支持向量机&#xff09;中。当模型的性能依赖于多个超参数时&#xff0c;传统的网格搜索和随机搜索方法可能显…

香橙派下安装neo4j

在香橙派(Orange Pi)上安装Neo4j图数据库可以通过以下步骤完成。假设你使用的是基于Debian的Linux发行版(如Armbian),以下是详细的安装步骤: 1. 更新系统 首先,确保你的系统是最新的。打开终端并运行以下命令: sudo apt update sudo apt upgrade -y 2. 安装Java N…