// shili1.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include<iostream>
#include<stdlib.h>
#include<conio.h>
using namespace std;
void printsceam();
int movedown();
int moveup();
int moveright();
int moveleft();
int panduan(int a,int b);
int num[10][10]={
{1,1,1,1,1,1,1,1,1,1},
{1,2,0,0,0,0,1,0,0,1},
{1,0,0,1,1,0,0,0,0,1},
{1,0,0,0,0,0,1,0,0,1},
{1,0,0,1,0,1,0,0,0,1},
{1,0,0,0,1,0,0,1,0,1},
{1,0,0,1,0,0,0,0,0,1},
{1,1,0,0,0,0,1,0,0,1},
{1,0,0,0,1,0,0,0,3,1},
{1,1,1,1,1,1,1,1,1,1}
};
int num1[2]={1,1};
int n1=0;
int main()
{
char fang;
printsceam();
while(1)
{
if(n1==1)
{
cout<<"sucess!";
return 0;
}
fang=getch();
switch(fang)
{
case 's':movedown();system("cls");printsceam();break;
case 'w':moveup();system("cls");printsceam();break;
case 'a':moveleft();system("cls");printsceam();break;
case 'd':moveright();system("cls");printsceam();break;
default:cout<<"error";
}
}
return 0;
}
void printsceam()
{
for(int a=0;a<10;a++)
{
for(int b=0;b<10;b++)
{
if(num[a][b]==1)
{
cout<<"# ";
}else if(num[a][b]==0)
{
cout<<" ";
}else if(num[a][b]==2)
{
cout<<"* ";
}else
{
cout<<"& ";
}
}
cout<<endl;
}
}
int movedown()
{
int a=num1[0],b=num1[1];
if(num[a+1][b]==1)
return 0;
n1=panduan(a+1,b);
num[a][b]=0;
num[a+1][b]=2;
num1[0]=a+1;
}
int moveup()
{
int a=num1[0],b=num1[1];
if(num[a-1][b]==1)
return 0;
n1=panduan(a-1,b);
num[a][b]=0;
num[a-1][b]=2;
num1[0]=a-1;
}
int moveright()
{
int a=num1[0],b=num1[1];
if(num[a][b+1]==1)
return 0;
n1=panduan(a,b+1);
num[a][b]=0;
num[a][b+1]=2;
num1[1]=b+1;
}
int moveleft()
{
int a=num1[0],b=num1[1];
if(num[a][b-1]==1)
return 0;
n1=panduan(a,b-1);
num[a][b]=0;
num[a][b-1]=2;
num1[1]=b-1;
}
int panduan(int a,int b)
{
if(num[a][b]==3)
{
return 1;
}else
return 0;
}
命令行下走迷宫
最新推荐文章于 2022-12-28 16:56:08 发布