基于C++自制屠夫躲貓貓小游戲
更新時(shí)間:2024年01月11日 09:51:10 作者:猿神派蒙
這篇文章主要為大家詳細(xì)介紹了如何基于C++自制屠夫躲貓貓小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
大家好,我是派蒙,我寫了一個(gè)《屠夫躲貓貓》的游戲,下面是源代碼:
#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<<"注冊(cè)/登錄"<<endl; cout<<"(本機(jī)注冊(cè)的賬戶只能在本機(jī)中使用)"<<endl; if(zt==1){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xF0); }else if(zt==0){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02); } cout<<"1.沒有賬號(hào),注冊(cè)一個(gè)"<<endl; if(zt==0){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xF0); }else if(zt==1){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02); } cout<<"2.有賬號(hào),直接登錄" <<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<<"請(qǐng)輸入用戶名:"<<endl; cin>>Name[cnt]; cout<<"請(qǐng)?jiān)O(shè)置密碼:"<<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<<" 注意自我保護(hù),謹(jǐn)防受騙上當(dāng)。"<<endl; cout<<" 適度游戲益腦,沉迷游戲傷身。"<<endl; cout<<" 合理安排時(shí)間,享受健康生活。"<<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<<"選擇模式:(輸入對(duì)應(yīng)中文)"<<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<<"請(qǐng)選擇躲藏位置:(輸入對(duì)應(yīng)中文)"<<endl; cout<<"床底下/衣柜里/窗簾后/馬桶里/桌底下/沙發(fā)底/沙發(fā)后/原地不動(dòng)"<<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=="沙發(fā)底"){ Location=5; }else if(n=="沙發(fā)后"){ Location=6; }else if(n=="原地不動(dòng)"){ 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<<"噓,屠夫來(lái)了。 你的位置:"; 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<<"沙發(fā)底\n"; }else if(Location==6){ cout<<"沙發(fā)后\n"; } Sleep(1000); if(Location==7){ cout<<"由于你沒有躲藏,你被屠夫發(fā)現(xiàn)了。你死了。"; 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<<"沙發(fā)底"; }else if(go==6){ cout<<"沙發(fā)后"; } 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<<"請(qǐng)選擇要修改的選項(xiàng)"<<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<<"密碼錯(cuò)誤!"<<endl; } } } } }//- return 0; }else{ cout<<"密碼或用戶名錯(cuò)誤,請(qǐng)重新輸入?。?!"<<endl; Sleep(1000); system("cls"); } } } } }
到此這篇關(guān)于基于C++自制屠夫躲貓貓小游戲的文章就介紹到這了,更多相關(guān)C++小游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在C++17中實(shí)現(xiàn)無(wú)鎖數(shù)據(jù)結(jié)構(gòu)的方法詳解
在探索?C++17?中的無(wú)鎖數(shù)據(jù)結(jié)構(gòu)之前,我們首先需要理解無(wú)鎖編程的基本概念及其在現(xiàn)代軟件開發(fā)中的重要性,在這個(gè)章節(jié)中,我們將深入探討無(wú)鎖編程的概念,以及它如何滿足人類對(duì)于更高效、更可靠軟件的本能需求,文中通過代碼示例介紹的非常詳細(xì),感興趣的朋友可以參考下2023-12-12C語(yǔ)言使用openSSL庫(kù)DES模塊實(shí)現(xiàn)加密功能詳解
這篇文章主要介紹了C語(yǔ)言使用openSSL庫(kù)DES模塊實(shí)現(xiàn)加密功能,簡(jiǎn)單講解了DES加密的相關(guān)概念,并結(jié)合實(shí)例形式分析了DES加密的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-05-05C語(yǔ)言實(shí)現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表
這篇文章主要為大家詳細(xì)介紹了c語(yǔ)言實(shí)現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11如何運(yùn)用Capstone實(shí)現(xiàn)64位進(jìn)程鉤子掃描
本章將通過Capstone引擎實(shí)現(xiàn)64位進(jìn)程鉤子的掃描,讀者可使用此段代碼檢測(cè)目標(biāo)進(jìn)程內(nèi)是否被掛了鉤子,感興趣的朋友跟隨小編一起看看吧2024-08-08