这个是我期末的时候仿照着老师给的例子写的,也不能说是仿照,算是大部分都是老师的代码,我就在无关紧要的地方改了改(糗...),这个项目需要使用外界的文本文档,所以也要建立项目。
#include <iostream>
#include<stdlib.h>
#include<conio.h>
using namespace std;
void Read(char ch1[41][42],int *a,int *b); //从文件中读出信息,存在二维数组ch1中,*a,*b,用于记录'♂'位置。为了减少对文件的访问次数,所以把文件中的信息读到数组中。
void Read1(char ch1[41][42],int *a,int *b); //从二维数组ch1中读信息,并根据ch1中的各个值输出相应的符号。
void Read2(char ch1[41][42],int *a,int *b); //从二维数组ch1中读信息,并根据ch1中的各个值输出相应的符号。
int main()
{
int a,b; //a,b,用于记录'♂'人位置。
int a1,b1; //a,b,用于记录'♀'人位置。
int talkflag=0;
int teamflag=0;
char ch,c,chyn;
char ch1[41][42];
Read(ch1,&a,&b); //从文件中读信息。
Read1(ch1,&a,&b); //从数组中读信息。
ch=getch();
//ch用于接收用户的输入,但不显示。
while(1)
{
switch(ch)
{
case 'w':
case 'W':
{
if (teamflag==0)
{
if(ch1[a-1][b]=='3')
{
c=ch1[a-1][b];
ch1[a-1][b]=ch1[a][b];
ch1[a][b]=c;
Read1(ch1,&a,&b); //显示变化后的迷宫状况。
}
}
else
if(ch1[a-1][b]=='3')
{
c=ch1[a-1][b];
ch1[a-1][b]=ch1[a][b];
ch1[a][b]=ch1[a1][b1];
ch1[a1][b1]=c;
Read1(ch1,&a,&b);
Read2(ch1,&a1,&b1);
}
else if(ch1[a-1][b]=='6')
{
c=ch1[a-1][b];
ch1[a-1][b]=ch1[a][b];
ch1[a][b]=c;
Read1(ch1,&a,&b);
Read2(ch1,&a1,&b1);
}
break;
}
case 'a':
case 'A':
{
if (teamflag==0)
{
if(ch1[a][b-1]=='3')
{
c=ch1[a][b-1];
ch1[a][b-1]=ch1[a][b];
ch1[a][b]=c;
Read1(ch1,&a,&b);
}
}
else if(ch1[a][b-1]=='3')
{
c=ch1[a][b-1];
ch1[a][b-1]=ch1[a][b];
ch1[a][b]=ch1[a1][b1];
ch1[a1][b1]=c;
Read1(ch1,&a,&b);
Read2(ch1,&a1,&b1);
}
else if(ch1[a][b-1]=='6')
{
c=ch1[a][b-1];
ch1[a][b-1]=ch1[a][b];
ch1[a][b]=c;