基于C++自制屠夫躲猫猫小游戏

 更新时间:2024年01月11日 09:51:10   作者:猿神派蒙  
这篇文章主要为大家详细介绍了如何基于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++自制屠夫躲猫猫小游戏的文章就介绍到这了,更多相关C++小游戏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c语言 字符串的拼接和分割实例

    c语言 字符串的拼接和分割实例

    今天小编就为大家分享一篇c语言 字符串的拼接和分割实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C/C++ 数组和指针及引用的区别

    C/C++ 数组和指针及引用的区别

    这篇文章主要介绍了C/C++ 数组和指针及引用的区别的相关资料,这里从汇编的角度来分析他们之间的区别,需要的朋友可以参考下
    2017-07-07
  • 在C++17中实现无锁数据结构的方法详解

    在C++17中实现无锁数据结构的方法详解

    在探索 C++17 中的无锁数据结构之前,我们首先需要理解无锁编程的基本概念及其在现代软件开发中的重要性,在这个章节中,我们将深入探讨无锁编程的概念,以及它如何满足人类对于更高效、更可靠软件的本能需求,文中通过代码示例介绍的非常详细,感兴趣的朋友可以参考下
    2023-12-12
  • C语言使用openSSL库DES模块实现加密功能详解

    C语言使用openSSL库DES模块实现加密功能详解

    这篇文章主要介绍了C语言使用openSSL库DES模块实现加密功能,简单讲解了DES加密的相关概念,并结合实例形式分析了DES加密的具体实现技巧,需要的朋友可以参考下
    2017-05-05
  • C语言实现通用数据结构之通用链表

    C语言实现通用数据结构之通用链表

    这篇文章主要为大家详细介绍了c语言实现通用数据结构之通用链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C语言之飞机大战游戏

    C语言之飞机大战游戏

    这篇文章主要为大家详细介绍了C语言之飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • C语言 for循环示例详解

    C语言 for循环示例详解

    本文将详细介绍for循环的用法并提供相关的可编译运行的C代码示例,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2023-06-06
  • C语言代码实现俄罗斯方块

    C语言代码实现俄罗斯方块

    这篇文章主要为大家详细介绍了C语言代码实现俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • C++变量判定的螺旋法则示例详解

    C++变量判定的螺旋法则示例详解

    这篇文章主要给大家介绍了关于C++变量判定的螺旋法则,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 如何运用Capstone实现64位进程钩子扫描

    如何运用Capstone实现64位进程钩子扫描

    本章将通过Capstone引擎实现64位进程钩子的扫描,读者可使用此段代码检测目标进程内是否被挂了钩子,感兴趣的朋友跟随小编一起看看吧
    2024-08-08

最新评论