双人抢滩登陆1.1版

xhg 2022-09-10 13:24:13 3

#include<bits/stdc++.h> #include<conio.h> #include<windows.h> using namespace std; string a[210]={ "############################################################", "# # # # # #", "# @# # # # #& #", "# # # # #", "# @ # # & #", "# #### # # ### #", "# @ # # # & #", "#0 # # ### 1#", "#0 * @ # # # & You can't use 'macro parameter character #' in math mode 1#", "#0 # 1#", "# @ ###### ### & #", "# # # # #", "# @ # # # & #", "# # # #", "# @ # # #### & #", "# # # # #", "# @ # # # # & #", "# # # # #", "# @# #### # #& #", "# # # #", "############################################################", "wasd,ijkl上下左右移动,x,n攻击,o退出", "1号玩家:XXX", "2号玩家:XXX", "1号基地水晶:XXXXXXXXXX", "2号基地水晶:XXXXXXXXXX", }; string ad[210]={ "############################################################", "# # # # # #", "# @# # # # #& #", "# # # # #", "# @ # # & #", "# #### # # ### #", "# @ # # # & #", "# # # ### #", "# * @ # # # & #", "# # #", "# @ ###### ### & #", "# # # # #", "# @ # # # & #", "# # # #", "# @ # # #### & #", "# # # # #", "# @ # # # # & #", "# # # # #", "# @# #### # #& #", "# # # #", "############################################################", "wasd,ijkl上下左右移动,x,n攻击,o退出", "1号玩家:XXX", "2号玩家:XXX", "1,2号玩家击杀数:", }; string a1[4]={ "1号玩家:XXX", "1号玩家:XX", "1号玩家:X", "1号玩家:阵亡", }; string a2[4]={ "2号玩家:XXX", "2号玩家:XX", "2号玩家:X", "2号玩家:阵亡", }; string b2[11]={ "2号基地水晶:XXXXXXXXXX", "2号基地水晶:XXXXXXXXX", "2号基地水晶:XXXXXXXX", "2号基地水晶:XXXXXXX", "2号基地水晶:XXXXXX", "2号基地水晶:XXXXX", "2号基地水晶:XXXX", "2号基地水晶:XXX", "2号基地水晶:XX", "2号基地水晶:X", "2号基地水晶:阵亡", }; string b1[11]={ "1号基地水晶:XXXXXXXXXX", "1号基地水晶:XXXXXXXXX", "1号基地水晶:XXXXXXXX", "1号基地水晶:XXXXXXX", "1号基地水晶:XXXXXX", "1号基地水晶:XXXXX", "1号基地水晶:XXXX", "1号基地水晶:XXX", "1号基地水晶:XX", "1号基地水晶:X", "1号基地水晶:阵亡", }; int main() { system("title 双人抢滩登陆1.0版本");//标题 system("mode con cols=60 lines=37");//设置窗口大小 string s="| 双 人 抢 滩 登 陆 |"; string s1="| 开 始 游 戏 |"; string s2="| 玩 法 说 明 |"; string s3="| 更 换 皮 肤 |"; cout<<"@==========================================================@"<<endl; cout<<"| |"<<endl; cout<<"| |"<<endl; for(int i=0;i<s.size();i++){ cout<<s[i]; Sleep(10);//Sleep函数延长时间 } cout<<endl; cout<<"| |"<<endl; for(int i=0;i<s1.size();i++){ cout<<s1[i]; Sleep(10); } cout<<endl; cout<<"| |"<<endl; for(int i=0;i<s2.size();i++){ cout<<s2[i]; Sleep(10); } cout<<endl; cout<<"| |"<<endl; for(int i=0;i<s3.size();i++){ cout<<s3[i]; Sleep(10); } cout<<endl; cout<<"| |"<<endl; cout<<"| |"<<endl; cout<<"| |"<<endl; cout<<"|(按‘k’开始游戏,按‘b’看玩法说明,按‘d’换皮肤) |"<<endl; cout<<"@==========================================================@"<<endl; char ch; ch=getch();//提取键盘指令 if(ch=='b'){ system("cls"); string c="使用wasd控制‘’(玩家1)移动,ijkl控制‘You can't use 'macro parameter character #' in math mode’(玩家2)移动,‘#’为边界,‘x’玩家一攻击,‘n’玩家二攻击,‘0,1’水晶"; string c1="玩家目标是通过战斗对方,击碎对方水晶,即可胜利。"; string c2="说明:此为抢滩登陆1.1版本。"; string c3="更新:增加了乱斗模式,击杀对方的一分,谁先获得10分,即可胜利。"; cout<<"版本:1.1"<<endl; cout<<"按1直接显示所有内容,否则按2。"<<endl; int q; q=getch(); if(q=='1'){ cout<<c3<<endl<<c<<endl<<c1<<endl<<c2<<endl; } if(q=='2'){ for(int i=0;i<c3.size();i++){ cout<<c3[i]; Sleep(100);//延时 } cout<<endl; for(int i=0;i<c.size();i++){ cout<<c[i]; Sleep(100); } cout<<endl; for(int i=0;i<c1.size();i++){ cout<<c1[i]; Sleep(100); } cout<<endl; for(int i=0;i<c2.size();i++){ cout<<c2[i]; Sleep(100); } cout<<endl; } cout<<"按y开始游戏。按e换皮肤。"; ch=getch(); } if(ch=='d'||ch=='e'){ system("cls"); cout<<"请选择皮肤:"<<endl; cout<<"1.【日间色】"<<endl<<"2.【夜间色】"<<endl<<"3.【黑客】"<<endl<<"4.【科幻】"<<endl<<"5.【紫水晶】"<<endl; cout<<"开始游戏请按q,换肤请输入序号。"; char sh; while(1){ sh=getch(); if(sh-'0'==1) system("color f0"); else if(sh-'0'==2) system("color 0f"); else if(sh-'0'==3) system("color 0a"); else if(sh-'0'==4) system("color 09"); else if(sh-'0'==5) system("color 01"); else if(sh=='q'){ ch='q'; break; } } } if(ch=='k'||ch=='y'||ch=='q'){ system("cls"); cout<<"请选择模式:"<<endl; cout<<"1.普通模式"<<endl<<"2.乱斗模式"<<endl; int g; cin>>g; if(g==1){ system("cls");//清屏 cout<<"加载代码中"; Sleep(2000); system("cls"); cout<<"加载代码中 ◎ 20%"; Sleep(2000); system("cls"); cout<<"加载地图中 ◎◎ 40%"; Sleep(2000); system("cls"); cout<<"加载地图中 ◎◎◎ 60%"; Sleep(2000); system("cls"); cout<<"生成地图中 ◎◎◎◎ 80%"; Sleep(2000); system("cls"); cout<<"生成地图中 ◎◎◎◎◎ 100%"; Sleep(2000); system("cls"); cout<<"完成!!!"; Sleep(2000); system("cls"); for(int i=0;i<=25;i++){ cout<<a[i]<<endl;//将地图一行一行输出 } char b; int x=8,y=6,ex=8,ey=53,blooda=3,bloodb=3,blood1=10,blood0=10;//玩家初始坐标 //wasd移动 while(1){//重复运动 b=getch(); if(b=='a'){ if(a[x][y-1]!='#'&&a[x][y-1]!='@'&&a[x][y-1]!='&'&&a[x][y-1]!=''&&a[x][y-1]!='0'&&a[x][y-1]!='1'){ a[x][y]=' '; y--; a[x][y]=''; } } else if(b=='s'){ if(a[x+1][y]!='#'&&a[x+1][y]!='@'&&a[x+1][y]!='&'&&a[x+1][y]!='Misplaced &'&&a[x+1][y]!='0'&&a[x+1][y]!='1'){ a[x][y]=' '; x++; a[x][y]='*'; } } else if(b=='d'){ if(a[x][y+1]!='#'&&a[x][y+1]!='@'&&a[x][y+1]!='&'&&a[x][y+1]!=''&&a[x][y+1]!='0'&&a[x][y+1]!='1'){ a[x][y]=' '; y++; a[x][y]=''; } } else if(b=='w'){ if(a[x-1][y]!='#'&&a[x-1][y]!='@'&&a[x-1][y]!='&'&&a[x-1][y]!='Misplaced &'&&a[x-1][y]!='0'&&a[x-1][y]!='1'){ a[x][y]=' '; x--; a[x][y]='*'; } } else if(b=='j'){ if(a[ex][ey-1]!='#'&&a[ex][ey-1]!='@'&&a[ex][ey-1]!='&'&&a[ex][ey-1]!='*'&&a[ex][ey-1]!='0'&&a[ex][ey-1]!='1'){ a[ex][ey]=' '; ey--; a[ex][ey]=''; } } else if(b=='k'){ if(a[ex+1][ey]!='#'&&a[ex+1][ey]!='@'&&a[ex+1][ey]!='&'&&a[ex+1][ey]!=''&&a[ex+1][ey]!='0'&&a[ex+1][ey]!='1'){ a[ex][ey]=' '; ex++; a[ex][ey]='Extra close brace or missing open brace'; } } else if(b=='l'){ if(a[ex][ey+1]!='#'&&a[ex][ey+1]!='@'&&a[ex][ey+1]!='&'&&a[ex][ey+1]!='*'&&a[ex][ey+1]!='0'&&a[ex][ey+1]!='1'){ a[ex][ey]=' '; ey++; a[ex][ey]=''; } } else if(b=='i'){ if(a[ex-1][ey]!='#'&&a[ex-1][ey]!='@'&&a[ex-1][ey]!='&'&&a[ex-1][ey]!=''&&a[ex-1][ey]!='0'&&a[ex-1][ey]!='1'){ a[ex][ey]=' '; ex--; a[ex][ey]='Extra close brace or missing open brace'; } } else if(b=='x'){ if(a[x-1][y]==''||a[x][y-1]==''){ bloodb--; a[23]=a2[3-bloodb]; if(bloodb==0){ a[ex][ey]=' '; ex=8; ey=53; a[ex][ey]='Extra close brace or missing open brace'; bloodb=3; a[23]=a2[0]; } } else if(a[x-1][y]=='1'||a[x][y-1]=='1'||a[x][y+1]=='1'){ blood1--; a[25]=b2[10-blood1]; if(blood1==0){ system("cls"); cout<<"1号玩家抢占了2号玩家基地,1号玩家胜利!"; return 0; } } } else if(b=='n'){ if(a[ex-1][ey]=='*'||a[ex][ey-1]=='*'||a[ex][ey+1]=='*'){ blooda--; a[22]=a1[3-blooda]; if(blooda==0){ a[x][y]=' '; x=8; y=6; a[x][y]='*'; blooda=3; a[22]=a1[0]; } } else if(a[ex-1][ey]=='0'||a[ex][ey-1]=='0'||a[ex][ey+1]=='0'){ blood0--; a[24]=b1[10-blood0]; if(blood0==0){ system("cls"); cout<<"2号玩家抢占了1号玩家基地,2号玩家胜利!"; return 0; } } } if(b=='o'){//退出 return 0; } system("cls"); for(int i=0;i<=25;i++){ cout<<a[i]<<endl; } } } else if(g==2){ char b; int x=8,y=6,ex=8,ey=53,blooda=3,bloodb=3,akill=0,bkill=0;//玩家初始坐标 system("cls");//清屏 cout<<"加载代码中"; Sleep(10); system("cls"); cout<<"加载代码中 ◎ 20%"; Sleep(10); system("cls"); cout<<"加载地图中 ◎◎ 40%"; Sleep(10); system("cls"); cout<<"加载地图中 ◎◎◎ 60%"; Sleep(10); system("cls"); cout<<"生成地图中 ◎◎◎◎ 80%"; Sleep(10); system("cls"); cout<<"生成地图中 ◎◎◎◎◎ 100%"; Sleep(10); system("cls"); cout<<"完成!!!"; Sleep(10); system("cls"); for(int i=0;i<=24;i++){ cout<<ad[i]<<endl;//将地图一行一行输出 } cout<<akill<<' '<<bkill; //wasd移动 while(1){//重复运动 b=getch(); if(b=='a'){ if(ad[x][y-1]!='#'&&ad[x][y-1]!='@'&&ad[x][y-1]!='&'&&ad[x][y-1]!=''&&ad[x][y-1]!='0'&&ad[x][y-1]!='1'){ ad[x][y]=' '; y--; ad[x][y]=''; } } else if(b=='s'){ if(ad[x+1][y]!='#'&&ad[x+1][y]!='@'&&ad[x+1][y]!='&'&&ad[x+1][y]!='Misplaced &'&&ad[x+1][y]!='0'&&ad[x+1][y]!='1'){ ad[x][y]=' '; x++; ad[x][y]='*'; } } else if(b=='d'){ if(ad[x][y+1]!='#'&&ad[x][y+1]!='@'&&ad[x][y+1]!='&'&&ad[x][y+1]!=''&&ad[x][y+1]!='0'&&ad[x][y+1]!='1'){ ad[x][y]=' '; y++; ad[x][y]=''; } } else if(b=='w'){ if(ad[x-1][y]!='#'&&ad[x-1][y]!='@'&&ad[x-1][y]!='&'&&ad[x-1][y]!='Misplaced &'&&ad[x-1][y]!='0'&&ad[x-1][y]!='1'){ ad[x][y]=' '; x--; ad[x][y]='*'; } } else if(b=='j'){ if(ad[ex][ey-1]!='#'&&ad[ex][ey-1]!='@'&&ad[ex][ey-1]!='&'&&ad[ex][ey-1]!='*'&&ad[ex][ey-1]!='0'&&ad[ex][ey-1]!='1'){ ad[ex][ey]=' '; ey--; ad[ex][ey]=''; } } else if(b=='k'){ if(ad[ex+1][ey]!='#'&&ad[ex+1][ey]!='@'&&ad[ex+1][ey]!='&'&&ad[ex+1][ey]!=''&&ad[ex+1][ey]!='0'&&ad[ex+1][ey]!='1'){ ad[ex][ey]=' '; ex++; ad[ex][ey]='Extra close brace or missing open brace'; } } else if(b=='l'){ if(ad[ex][ey+1]!='#'&&ad[ex][ey+1]!='@'&&ad[ex][ey+1]!='&'&&ad[ex][ey+1]!='*'&&ad[ex][ey+1]!='0'&&ad[ex][ey+1]!='1'){ ad[ex][ey]=' '; ey++; ad[ex][ey]=''; } } else if(b=='i'){ if(ad[ex-1][ey]!='#'&&ad[ex-1][ey]!='@'&&ad[ex-1][ey]!='&'&&ad[ex-1][ey]!=''&&ad[ex-1][ey]!='0'&&ad[ex-1][ey]!='1'){ ad[ex][ey]=' '; ex--; ad[ex][ey]='Extra close brace or missing open brace'; } } else if(b=='x'){ if(ad[x-1][y]==''||ad[x][y-1]==''){ bloodb--; ad[23]=a2[3-bloodb]; if(bloodb==0){ akill++; if(akill==10){ system("cls"); cout<<"1号玩家胜利!"; return 0; } ad[ex][ey]=' '; ex=8; ey=53; ad[ex][ey]='$'; bloodb=3; ad[23]=a2[0]; } } } else if(b=='n'){ if(ad[ex-1][ey]==''||ad[ex][ey-1]==''||ad[ex][ey+1]==''){ blooda--; ad[22]=a1[3-blooda]; if(blooda==0){ bkill++; if(bkill==10){ system("cls"); cout<<"2号玩家胜利!"; return 0; } ad[x][y]=' '; x=8; y=6; ad[x][y]='*'; blooda=3; ad[22]=a1[0]; } } } if(b=='o'){//退出 return 0; } system("cls"); for(int i=0;i<=24;i++){ cout<<ad[i]<<endl; } cout<<akill<<' '<<bkill; } } } return 0; }

{{ vote && vote.total.up }}