C++自制小游戏《屠夫躲猫猫》
大家好,我是派蒙,我写了一个《屠夫躲猫猫》的游戏,下面是源代码:
#include <stdio.h>
#include <conio.h>
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
string ID[1001];
string Name[1001],Key[1001];
int main(void){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);cout<<"========================================================"<<endl<<endl<<endl;cout<<" 屠夫躲猫猫"<<endl;cout<<" Butcher Hide And Seek"<<endl;Sleep(4000);ID[0]="VIP000";Name[0]="派蒙";Key[0]="MIHOYO";ID[1]="VIP001";Name[1]="纳西妲";Key[1]="MIHOYO";ID[2]="VIP002";Name[2]="芙宁娜";Key[2]="MIHOYO";ID[3]="SVIP666";Name[3]="原神";Key[3]="MIHOYO";int cnt=4;bool zt=1;long long I=100000;string n,m;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);while(1){system("cls");bool K=0;zt=1;cout<<"========================================================"<<endl;cout<<"注册/登录"<<endl;cout<<"(本机注册的账户只能在本机中使用)"<<endl;if(zt==1){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xF0);}else if(zt==0){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);}cout<<"1.没有账号,注册一个"<<endl;if(zt==0){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xF0);}else if(zt==1){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);}cout<<"2.有账号,直接登录" <<endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);cout<<"(W/S选择,Y确定)"<<endl;int a=getch();system("cls");switch(a){case 'W':zt=1;case 'S':zt=0;case 'Y':if(zt==1){cout<<"========================================================"<<endl;cout<<"请输入用户名:"<<endl;cin>>Name[cnt];cout<<"请设置密码:"<<endl;cin>>Key[cnt];ID[cnt]=I;I++;cnt++;system("cls");}else if(zt==0){cout<<"========================================================"<<endl;cout<<"用户名/ID:";cin>>n;cout<<"密码:";cin>>m;int cnt1;for(int i=0;i<=cnt;i++){if(n==Name[i]&&m==Key[i]||n==ID[i]&&m==Key[i]){K=1;cnt1=i;break;}}if(K==1){system("cls");cout<<"========================================================"<<endl<<endl;cout<<" 抵制不良游戏,拒绝盗版游戏。"<<endl;cout<<" 注意自我保护,谨防受骗上当。"<<endl;cout<<" 适度游戏益脑,沉迷游戏伤身。"<<endl;cout<<" 合理安排时间,享受健康生活。"<<endl<<endl;cout<<" 初始化资源中..."<<endl;int n=20;cout<<" _____________________"<<endl;cout<<" ";while(n--){cout<<"█";Sleep(300);}while(1){system("cls");cout<<"========================================================"<<endl;cout<<"□"<<Name[cnt1]<<endl;cout<<"选择模式:(输入对应中文)"<<endl;string out="开始游戏";for(int i=0;i<=7;i+=2){cout<<out[i]<<out[i+1];Sleep(500);} cout<<endl;out="退出登录";for(int i=0;i<=7;i+=2){cout<<out[i]<<out[i+1];Sleep(500);} cout<<endl;out="修改资料";for(int i=0;i<=7;i+=2){cout<<out[i]<<out[i+1];Sleep(500);} cout<<endl;while(1){string n;cin>>n;if(n=="开始游戏"){system("cls"); cout<<"========================================================"<<endl;cout<<"请选择躲藏位置:(输入对应中文)"<<endl;cout<<"床底下/衣柜里/窗帘后/马桶里/桌底下/沙发底/沙发后/原地不动"<<endl;cin>>n;int Location; if(n=="床底下"){Location=0;}else if(n=="衣柜里"){Location=1;}else if(n=="窗帘后"){Location=2;}else if(n=="马桶里"){Location=3;}else if(n=="桌底下"){Location=4;}else if(n=="沙发底"){Location=5;}else if(n=="沙发后"){Location=6;}else if(n=="原地不动"){Location=7;}bool died=0;for(int cnt=1;cnt<=6;cnt++){system("cls");cout<<"========================================================"<<endl;cout<<"第";Sleep(1000);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x04);cout<<cnt;Sleep(1000);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);cout<<"回";Sleep(1000);cout<<"合"<<endl; Sleep(2000);cout<<"嘘,屠夫来了。 你的位置:";if(Location==0){cout<<"床底下\n";}else if(Location==1){cout<<"衣柜里\n";}else if(Location==2){cout<<"窗帘后\n";}else if(Location==3){cout<<"马桶里\n";}else if(Location==4){cout<<"桌底下\n";}else if(Location==5){cout<<"沙发底\n";}else if(Location==6){cout<<"沙发后\n";}Sleep(1000);if(Location==7){cout<<"由于你没有躲藏,你被屠夫发现了。你死了。";died=1;Sleep(4000);break; }int go=rand()%6;if(go==Location){cout<<"你被屠夫抓到了,你死了。"<<endl;died=1;break;Sleep(4000);system("cls");}else{cout<<"屠夫看向了";if(go==0){cout<<"床底下";}else if(go==1){cout<<"衣柜里";}else if(go==2){cout<<"窗帘后";}else if(go==3){cout<<"马桶里";}else if(go==4){cout<<"桌底下";}else if(go==5){cout<<"沙发底";}else if(go==6){cout<<"沙发后";}Sleep(1000);cout<<",他抓住了一名玩家,一人被淘汰。";Sleep(3000); system("cls");}}if(died==1){break;}else{system("cls");cout<<"======================================================="<<endl;cout<<"你存活到了最后,你赢了!";Sleep(3000);system("cls");}}else if(n=="退出登录"){cout<<"======================================================="<<endl<<endl;cout<<" 正在退出……"<<endl;Sleep(5000);system("cls");break; }else if(n=="修改资料"){cout<<"======================================================="<<endl<<endl;cout<<"请选择要修改的选项"<<endl;out="昵称";for(int i=0;i<=7;i+=2){cout<<out[i]<<out[i+1];Sleep(500);} cout<<endl;out="密码";for(int i=0;i<=7;i+=2){cout<<out[i]<<out[i+1];Sleep(500);} cout<<endl;cin>>n;if(n=="昵称"){system("cls");cout<<"======================================================="<<endl;cout<<"输入新昵称:";cin>>n;Name[cnt1]=n;system("cls");cout<<"======================================================="<<endl;cout<<"修改成功!"; }else if(n=="密码"){system("cls");cout<<"======================================================="<<endl;cout<<"输入旧密码:";cin>>n;if(n==Key[cmt1]){system("cls");cout<<"======================================================="<<endl;cout<<"输入新密码"<<endl;cin>>n;Key[cnt1]=n;cout<<"修改成功!"<<endl;}else{system("cls");cout<<"======================================================="<<endl;cout<<"密码错误!"<<endl;}}}} }//-return 0; }else{cout<<"密码或用户名错误,请重新输入!!!"<<endl;Sleep(1000);system("cls");}}}}
}
相关文章:
C++自制小游戏《屠夫躲猫猫》
大家好,我是派蒙,我写了一个《屠夫躲猫猫》的游戏,下面是源代码: #include <stdio.h> #include <conio.h> #include<bits/stdc.h> #include<windows.h> using namespace std; string ID[1001]; string N…...

LabVIEW在高级结构监测中的创新应用
LabVIEW在高级结构监测中的创新应用 LabVIEW作为一个强大的系统设计平台,其在基于BOTDA(光时域反射分析)技术的结构监测中发挥着核心作用。利用LabVIEW的高效数据处理能力和友好的用户界面,开发了一个先进的监测系统。该系统专门…...

关于GitHub的git推送命令时报错密码授权失败问题
参考文章:https://cloud.tencent.com/developer/article/2362326?areaId106001 问题描述 当新建GitHub仓库后,通过git clone xxxx,命令克隆仓库到本地,想要提交修改内容,此时会报错443链接远程仓库失败,解…...

WPF Blend for visual studio使用
Blend for visual studio介绍 VS自带的Blend for visual studio是专门用来做WPF、Metro等的界面设计的可视化工具,其功能和PS类似。其目的让做界面和后台的程序分开,能快速绘制形状和路径、修改对象样式、动态显示对象(动画)、显示数据等高级操作。VS与B…...

云卷云舒:【实战篇】Redis迁移
1. 简介 Remote Dictionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统,是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 2. 迁移原理 redis-sh…...

[C#]yolov8-onnx在winform部署手势识别模型
【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性。具体创新包括一个新的骨干网络、一个新…...
【uniapp】 uniapp 修改tabBar图标大小和navigationBar字体大小
app.vue文件中修改 //导航栏字体 .uni-page-head .uni-page-head__title{font-size: 30rpx !important; } // tab图标 .uni-tabbar .uni-tabbar__icon {width: 25rpx !important;height: 25rpx !important; }大佬地址:https://blog.csdn.net/AAAXiaoApple/article/…...

Visual Studio 2017 + opencv4.6 + contribute + Cmake(Aruco配置版本)指南
之前配置过一次这个,想起这玩意就难受,贼难配置。由于要用到里面的一个库,不得已再进行配置。看网上的博客是真的难受,这写一块,那里写一块,乱七八糟,配置一顿发现写的都是错的,还得…...

自定义事件总线
文章目录 什么是自定义事件总线具体实现思路分析定义结构实现 on实现 emit实现 off 源码 什么是自定义事件总线 自定义事件总线属于一种观察着模式,其中包括三个角色发布者(Publisher):发出事件(Event)订阅…...
212.【2023年华为OD机试真题(C卷)】堆内存申请(排序和贪心算法-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-堆内存申请二.解题思路三.题解代码Python题解代…...

Flink Watermark和时间语义
Flink 中的时间语义 时间语义: EventTime:事件创建时间;Ingestion Time:数据进入Flink的时间;Processing Time:执行操作算子的本地系统时间,与机器无关。不同的时间语义有不同的应用场合&#x…...
HarmonyOS UI框架简介
HarmonyOS UI框架介绍 HarmonyOSUI框架是一个用于构建跨设备应用的开发框架,它属于HarmonyOS系统架构的上层框架。该框架通过提供一系列的开发模型、声明式UI范式、系统API等,帮助开发者更高效地构建用户界面。 在HarmonyOSUI框架中,开发语…...

编程羔手解决Maven引入多个版本的依赖包,导致包冲突了
最近升级了些依赖发现有个hutool的方法老报错,java.lang.NoSuchMethodError: cn.hutool.core.util.ObjectUtil.defaultIfNull(Ljava/lang/Object;Ljava/util/function/Supplier;) 在 Maven 项目中,当不同的依赖模块引入 Hutool 的不同版本时,…...

C#,入门教程(08)——基本数据类型及使用的基础知识
上一篇: C#,入门教程(07)——软件项目的源文件与目录结构https://blog.csdn.net/beijinghorn/article/details/124139947 数据类型用于指定数据体(DataEntity,包括但不限于类或结构体的属性、变量、常量、函数返回值)…...

分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测
分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测 目录 分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测(完整…...
计算机二级Python选择题考点——公共基础部分
计算机完成一条指令所花费的时间称为一个指令周期。(指令周期越短,指令执行就越快)顺序程序不具有并发性。(具有顺序性、封闭性和可再现性)结构化程序设计强调程序的易读性。系统软件:操作系统、编译程序、数据库管理系统 应用软件:杀毒软件在…...

《微机原理与应用》期末考试题库(附答案解析)
第1章 微型计算机概述 1.微型计算机的硬件系统包括___A _____。 A.控制器、运算器、存储器和输入输出设备 B.控制器、主机、键盘和显示器 C.主机、电源、CPU和输入输出 D.CPU、键盘、显示器和打印机 2.微处…...

如何在Android Glide中结合使用CenterCrop和自定义圆角变换(图片部分圆角矩形)
如何在Android Glide中结合使用CenterCrop和自定义圆角变换(图片部分圆角矩形) 在Android开发中,使用Glide加载图片时,我们经常需要对图片进行特定的处理,比如裁剪和圆角变换,特别是一些设计稿,…...
华为机考-手拍球游戏
【手拍手计算次数和总数】游戏规则:左手和右手拍球初始数为0,首先左手第一次拍球数1下,右手拍球1下,接下来左手在拍球时是上一次左手上一次右手的总和,右手也是上一次左手上一次右手拍球的总和,最后拍球总数…...
【线上问题】两台服务器的时间不一致导致jwt解析错误
目录 一、问题描述二、解决方法 一、问题描述 1.线上生产问题,本地和测试环境均无问题 2.本地和测试由于网关和登录服务均在同一台机器 3.线上的登录服务和网关部署不在一起,登录服务的时间正常,网关服务的服务器时间比实际快5秒 4.登录服务j…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...