DEV-C++双人抢滩登陆1.1版推出了

发布于:2023-01-19 ⋅ 阅读:(1034) ⋅ 点赞:(0)

女士们,先生们,我亲爱的粉丝们,你们梦寐以求的DEV-C++双人抢滩登陆1.1版我写好了!!!

下面,开始教程!

1.回顾

上次我们写了1.0版,在次给大家看下代码:

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h> 
using namespace std;
string a[210]={
	"############################################################",
	"#           #       #                  #       #           #",
	"#           @#      #         #        #      #&           #",
	"#                   #         #        #                   #",
	"#           @       #                  #       &           #",
	"#                   #### #      #      ###                 #",
	"#           @            #      #      #       &           #",
	"#0                  #    #           ###                  1#",
	"#0    *     @       #    #   #                 &     $    1#",
	"#0                           #                            1#",
	"#           @       ######           ###       &           #",
	"#                   #           #      #                   #",
	"#           @       #           #      #       &           #",
	"#                   #        #                             #",
	"#           @            #   #      ####       &           #",
	"#                   #    #          #                      #",
	"#           @       #    #      #   #          &           #",
	"#                        #      #   #                      #",
	"#           @#        ####          #         #&           #",
	"#           #                                  #           #",
	"############################################################",
	"wasd,ijkl上下左右移动,x,n攻击,o退出",
	"1号玩家:XXX",
	"2号玩家:XXX", 
	"1号基地水晶:XXXXXXXXXX", 
	"2号基地水晶:XXXXXXXXXX",
};
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("color F8");
	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控制‘$’(玩家2)移动,‘#’为边界,‘x’玩家一攻击,‘n’玩家二攻击,‘0,1’水晶";
		string c1="玩家目标是通过战斗对方,击碎对方水晶,即可胜利。";
		string c2="说明:此为抢滩登陆1.0版本。";
		string c3="更新:增加了换肤功能。";
		cout<<"版本:1.0"<<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<<"加载代码中";
		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]!='$'&&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]!='$'&&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]='$';
				}
			}
			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]='$';
				}
			}
			else if(b=='x'){
				if(a[x-1][y]=='$'||a[x][y-1]=='$'||a[x][y+1]=='$'){
					bloodb--;
					a[23]=a2[3-bloodb];
					if(bloodb==0){
						a[ex][ey]=' ';
						ex=8;
						ey=53;
						a[ex][ey]='$';
						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;
			}
		}
	}
	return 0;
}

2.1.1版教程

(1)玩法介绍

既然都到1.1版了,那玩法介绍模块也就要改,这里我就不再多说了,上这部分的代码:

if(ch=='b'){
		system("cls");
		string c="使用wasd控制‘*’(玩家1)移动,ijkl控制‘$’(玩家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();
	}

(2)新的地图,新的模式

1.1版本,我增加了一个新的模式——乱斗模式,就是玩家们互相攻击,谁先击杀对方十次,

谁就获胜,那么击杀次数该怎么记录呢?

这里先把地图的代码贴出来:

string ad[210]={
	"############################################################",
	"#           #       #                  #       #           #",
	"#           @#      #         #        #      #&           #",
	"#                   #         #        #                   #",
	"#           @       #                  #       &           #",
	"#                   #### #      #      ###                 #",
	"#           @            #      #      #       &           #",
	"#                   #    #           ###                   #",
	"#     *     @       #    #   #                 &     $     #",
	"#                            #                             #",
	"#           @       ######           ###       &           #",
	"#                   #           #      #                   #",
	"#           @       #           #      #       &           #",
	"#                   #        #                             #",
	"#           @            #   #      ####       &           #",
	"#                   #    #          #                      #",
	"#           @       #    #      #   #          &           #",
	"#                        #      #   #                      #",
	"#           @#        ####          #         #&           #",
	"#           #                                  #           #",
	"############################################################",
	"wasd,ijkl上下左右移动,x,n攻击,o退出",
	"1号玩家:XXX",
	"2号玩家:XXX", 
	"1,2号玩家击杀数:", 
};

没错,除了去掉水晶,其他都没变。

那击杀次数该如何记录呢?

我们可以定义两个变量——akill和bkill,分别表示一号玩家击杀次数和二号玩家击杀次数。

我们可以把两个变量放到这里:

                else if(b=='x'){
					if(ad[x-1][y]=='$'||ad[x][y-1]=='$'||ad[x][y+1]=='$'){
						bloodb--;
						ad[23]=a2[3-bloodb];
						if(bloodb==0){
							akill++;//这里哦~
							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++;//这里哦~
							ad[x][y]=' ';
							x=8;
							y=6;
							ad[x][y]='*';
							blooda=3;
							ad[22]=a1[0];
						}
					}
				}

没错,就是当对方血量为0时,说明我已经击杀了对方,这样就计数++一次,到每次刷新的时候再输出。

就是这么简单。

(3)胜利机制

这个非常简单,只要当akill或bkill==10的时候,说明击杀了对手十次,就获胜。

这个机制我加在了akill和bkill计数的后面,方便一点:

                else if(b=='x'){
					if(ad[x-1][y]=='$'||ad[x][y-1]=='$'||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];
						}
					}
				}

当然,计数变了,那么地图就要刷新了,最后的总代码为:

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h> 
using namespace std;
string a[210]={
	"############################################################",
	"#           #       #                  #       #           #",
	"#           @#      #         #        #      #&           #",
	"#                   #         #        #                   #",
	"#           @       #                  #       &           #",
	"#                   #### #      #      ###                 #",
	"#           @            #      #      #       &           #",
	"#0                  #    #           ###                  1#",
	"#0    *     @       #    #   #                 &     $    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控制‘$’(玩家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]!='$'&&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]!='$'&&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]='$';
					}
				}
				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]='$';
					}
				}
				else if(b=='x'){
					if(a[x-1][y]=='$'||a[x][y-1]=='$'||a[x][y+1]=='$'){
						bloodb--;
						a[23]=a2[3-bloodb];
						if(bloodb==0){
							a[ex][ey]=' ';
							ex=8;
							ey=53;
							a[ex][ey]='$';
							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(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<=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]!='$'&&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]!='$'&&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]='$';
					}
				}
				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]='$';
					}
				}
				else if(b=='x'){
					if(ad[x-1][y]=='$'||ad[x][y-1]=='$'||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;
}

注意:要在DEV-C++里运行,亲测有效!

(注:我马上要开新专栏了,别忘了关注哦~)

最后投个票:

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到