c++_游戏_狼人杀
思路主要包括以下几个部分:
-
角色分配:代码中通过随机数的方式给狼人、平民、预言家和法师等角色进行分配,保证每个角色的数量和身份的随机性。
-
游戏进行:根据狼人、平民、预言家和法师等角色的身份,游戏进行了夜晚和白天的交替,每个角色根据自己的身份进行相应的行动,比如狼人选择杀人、预言家选择预言等。
-
游戏结束条件:游戏根据角色的行动和玩家的投票,判断游戏是否结束,比如狼人全部被杀死或者平民被全部杀死等。
#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;//返回值 }
相关文章:
c++_游戏_狼人杀
思路主要包括以下几个部分: 角色分配:代码中通过随机数的方式给狼人、平民、预言家和法师等角色进行分配,保证每个角色的数量和身份的随机性。 游戏进行:根据狼人、平民、预言家和法师等角色的身份,游戏进行了夜晚和白…...
MySQL——数据类型、索引的建立、数据的约束
文章目录 数据类型索引的建立普通索引唯一索引使用ALTER 命令添加和删除索引使用ALTER 命令添加和删除主键显示索引信息 数据的约束非空约束:not null,值不能为null唯一约束:unique,值不能重复主键约束:primary key外键…...
常见框架漏洞详解③!!
Apache Apache 是世界使⽤排名第⼀的 Web 服务器软件。它可以运⾏在⼏乎所有⼴泛使⽤的计算 机平台上,由于其跨平台和安全性被⼴泛使⽤,是最流⾏的 Web 服务器端软件之⼀。 apache⽬录结构: bin:存放常⽤命令⼯具,如h…...
大数据基础知识
大数据(Big Data)是指无法用传统数据处理工具和技术有效处理的大规模、复杂的数据集。大数据技术通过对这些数据进行存储、处理和分析,从中提取有价值的信息和见解。 1. 大数据的特点 大数据通常具有以下四个主要特点,被称为“4…...
SQL Server 的透明数据加密
透明数据加密是SQL Server数据库安全众多特性中的一个,本文只针对透明数据加密。 在此测试之前,已经按照文档如何快速获得一个测试用SQL Server企业版创建了一个SQL Server 2019,并按照文档为SQL Server安装示例数据库AdventureWorks安装了…...
Windows图形界面(GUI)-MFC-C/C++ - 列表视图(List Control) - CListCtrl
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 列表视图(List Control) - CListCtrl 创建列表视图 设置列表视图属性 成员函数 注意事项 示例代码 列表视图(List Control) - CListCtrl 创建列表视图 在对话框编辑器中ÿ…...
一机两用的简单介绍
电子政务外网终端使用过程的风险与挑战 1、终端防护弱,失陷风险大 政务外网终端具备访问互联网能力,造成政务外网终端极易感染僵木蠕病毒,破坏正常办公 政务外网终端易被攻击失陷,成为从互联网攻击政务外网的跳板机 2、VPN漏洞…...
uniapp离线打包热更新失败-AndroidStudio离线打包apk后无法下载打开-热更新失败-plus.runtime.install失败
效果图 仅安卓 前言 1.plus.runtime.install一直fail(20240808), uni.openDocument可以打开本地apk文件 2.权限问题需小心 跑通前提 1.先确定apk地址有效,浏览器中手动下载可安装 2.确保已添加离线打包AndroidStudio的“android.permission.INSTALL_PACKAGES”权…...
深植根基、蓬勃向上 | openKylin 2.0正式发布!
2024年8月8日,openKylin 2.0版本正式发布!该版本默认搭载Linux 6.6 LTS内核,完成180操作系统核心组件自主选型升级,深度融合AI技术,上线麒麟AI助手等实用AI功能,并为用户带来包括开明软件包格式、不可变系统…...
【Material-UI】按钮组:尺寸与颜色详解
文章目录 一、按钮组概述1. 组件介绍2. 基本用法 二、按钮组的尺寸(Sizes)1. 小尺寸(Small)2. 中等尺寸(Medium)3. 大尺寸(Large) 三、按钮组的颜色(Colors)1…...
app抓包 burp配置
证书导出 模拟器安装证书 点击安装证书 将证书直接拖进来就行 配置代理 打开浏览器抓包...
图像与像素:利用ImageJ分析荧光显微镜图像|QuPath基础教程1|24-08-08
内容概要 数字图像由像素组成,每个像素具有一个数值,通常与检测到的光线相关。相同的像素值可以通过不同的方式进行显示。在科学图像处理中,可以通过修改查找表来独立于像素值改变图像外观。 一、引言 图像由其最小的组成单位——像素构成。…...
Prompt Fuzzer:用于增强 GenAI 应用程序的开源工具
Prompt Fuzzer 是一个开源工具,可以评估GenAI应用程序的系统提示针对基于动态 LLM 的威胁的安全性。 Prompt Fuzzer 功能: 1. 模拟十几种类型的 GenAI 攻击。 2. 该工具会根据系统提示自动进行情境化,针对与 GenAI 应用程序相关的特定主题或行…...
Vision Pro使用GLFT 加载模型shader错误解决办法
Glft shader在vision pro上加载错误 前言相关背景解决办法 参考文章 前言 之前在Vision Pro上尝试加载Glb文件,但是加载完成后发现加载出来的Glb文件材质不正确。材质是黑色的。因此整理一下解决方案。 相关背景 使用Unity开发,Glb的加载插件为gltf F…...
Netty技术全解析:MessageToMessageCodec类深度解析
❃博主首页 : 「码到三十五」 ,同名公众号 :「码到三十五」,wx号 : 「liwu0213」 ☠博主专栏 : <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 :…...
Three 【3D车模换肤】
目录 🌟前言🌟先看效果🌟实现代码🌟写在最后 🌟前言 哈喽小伙伴们,最近工作比较忙一直没有给大家更新,新的专栏 Three.js第三篇,记录一下博主学习Three.js的过程;一起来…...
语言模型简介和Ngram模型(1)
语言模型介绍一 语言模型语言模型概念语言模型应用-语音识别声纹特征提取语言模型挑选成句 语言模型应用-手写识别语言模型应用-输入法语言模型分类语言模型评价指标-困惑度PPL N-gram语言模型马尔科夫假设平滑问题平滑问题解决一平滑问题解决二 插值优化语言模型应用-文本纠错…...
MessageBox弹框替代系统自带的alert、confirm -- 高仿ElementUI MessageBox
MessageBox 弹框 MessageBox 的作用是替代系统自带的 alert、confirm ,仅适合展示较为简单的内容。如果需要弹出较为复杂的内容,请使用定制的弹窗。基本仿照ElementUI的同名组件。 原生,无依赖项,自适应布局,双端通用&…...
数据结构一排序算法
排序算法总结 冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。假设长度为n的数组arr,要按照从小到大排序。则冒泡排序的具体过程可以描述为:首先从数组的第一个元素开始到数组最后一个元素为止,对数组中…...
[Leetcode 215][Medium]-数组中的第K个最大元素-快排/小根堆/堆排序
一、题目描述 原题地址 二、整体思路 (1)快排 对于SELECT K问题,可以通过三路快排解决,快排可以把一个元素放至按升序排序的数组正确的位置,左边为小于该元素的元素集合,右边为大于该元素的元素集合。 三…...
Cosmos-Reason1-7B惊艳推理展示:从问题输入到结构化思考再到答案生成
Cosmos-Reason1-7B惊艳推理展示:从问题输入到结构化思考再到答案生成 获取更多AI镜像 想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域࿰…...
WPF新手村教程(七)—— 终章(MVVM架构初见杀)氐
1. 哑铃图是什么? 哑铃图(Dumbbell Plot),有时也称为DNA图或杠铃图,是一种用于比较两个相关数据点的可视化图表。 它源于人们对更有效数据比较方式的持续探索。 在传统的时间序列比较中,我们通常使用两条折…...
恒压供水全套图纸程序 西门子s7-200smart西门子触摸 屏 1.恒压供水系统
恒压供水全套图纸程序 西门子s7-200smart西门子触摸 屏 1.恒压供水系统,采用西门子S7-200smart PLC,西门子IE700触摸屏; 2.一拖三,根据设定压力自动投切电机,自动升降频率,PID调节,程序逻辑…...
Arduino-Pico蓝牙开发指南:经典蓝牙与BLE HID主从模式完全解析
Arduino-Pico蓝牙开发指南:经典蓝牙与BLE HID主从模式完全解析 【免费下载链接】arduino-pico Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards 项目地址: https://gitcode.com/gh_mirrors/ar/arduino-pico 想要在Raspberry Pi Pico上实现…...
BeesAndroid实战教程:如何在Nexus 6设备上搭建Android 7.0开发环境
BeesAndroid实战教程:如何在Nexus 6设备上搭建Android 7.0开发环境 【免费下载链接】BeesAndroid 项目地址: https://gitcode.com/gh_mirrors/be/BeesAndroid BeesAndroid是一款专为Android开发者打造的开源项目,通过本教程,你将快速…...
SEO优化代码时应该注意哪些常见的性能问题_SEO优化代码时应该注意哪些内容重复问题
SEO优化代码时应该注意哪些常见的性能问题 在网站开发和优化的过程中,SEO(搜索引擎优化)是一个至关重要的环节。而在SEO优化过程中,代码的性能问题常常被忽视。实际上,优化代码不仅能提升网站的加载速度,还…...
3分钟部署:Mac微信防撤回插件的终极防护方案
3分钟部署:Mac微信防撤回插件的终极防护方案 【免费下载链接】WeChatIntercept 微信防撤回插件,一键安装,仅MAC可用,支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 在瞬息万变的数字沟通中…...
彻底移除Windows Defender:释放30%系统性能的终极指南
彻底移除Windows Defender:释放30%系统性能的终极指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/wi/…...
Qwen3-TTS-Tokenizer-12Hz部署避坑指南:from_pretrained路径详解
Qwen3-TTS-Tokenizer-12Hz部署避坑指南:from_pretrained路径详解 1. 引言:为什么你的from_pretrained总是报错 在部署Qwen3-TTS-Tokenizer-12Hz时,90%的报错都集中在from_pretrained这一步。你可能遇到过这些错误提示: "U…...
如何快速去除Unity游戏马赛克:BepInEx插件终极指南
如何快速去除Unity游戏马赛克:BepInEx插件终极指南 【免费下载链接】UniversalUnityDemosaics A collection of universal demosaic BepInEx plugins for games made in Unity3D engine 项目地址: https://gitcode.com/gh_mirrors/un/UniversalUnityDemosaics …...
