问题标题: 金光工作室:推箱子游戏7(版本1.3.3)

1
1
已解决
王文博
王文博
缔造者之神
缔造者之神

推箱子的版本已经升至1.3.3。

代码长度长到了1626行。

具体改动为:改变难度层次,增加14个同学的地图。

在这里感谢 @沙宸安 @刘宇航 两位同学投的地图。

抄酷町堂的行数减至220行,抄袭率为13.5301%,接近14%。

话不多说,上代码:

(Game_Menu可能做得不太好,明天会改进)

#include <bits/stdc++.h>//万能头文件 
#include <conio.h>//函数_getch()所需头文件 
#include <windows.h>
#include <iomanip>//输入输出流控制符setw()所在头文件,设置字段宽度为n位
using namespace std;
#define R 12//行 12 
#define C 12//列 12 
BOOL flag = true;    			//定义布尔值的标记,方便在游戏时直接退出
int pass=1;//初始关卡值 
char d='0';//选择作者创作的地图的关卡难度 
char e;//选择玩同学创作还是玩作者创作的 
char f='0';//选择玩谁的地图 
//作者创作的地图分难度,同学创作的地图不分难度,并且同学创作中只选2位创作最多的分人(如沙宸安创作的为TS,刘宇航创作的为TL,其余同学创作的为TY) 
int WJmap[R][C] = { 0 };//简单地图 
int WJmap1[R][C] = 
{//地图1 
	{ 0,0,1,1,1,0,0,0 },
	{ 0,0,1,3,1,0,0,0 },
	{ 0,0,1,0,1,1,1,1 },
	{ 1,1,1,0,0,4,3,1 },
	{ 1,3,4,4,0,1,1,1 },
	{ 1,1,1,5,4,1,0,0 },
	{ 0,0,0,1,3,1,0,0 },
	{ 0,0,0,1,1,1,0,0 }
};
int WJmap2[R][C]=
{//地图2 
	{1,1,1,1,1,0,0,0,0,0},
	{1,5,0,0,1,0,0,0,0,0},
	{1,0,4,4,1,0,1,1,1,0},
	{1,0,4,0,1,0,1,3,1,0},
	{1,1,1,0,1,1,1,3,1,0},
	{1,1,1,0,0,0,0,3,1,0},
	{1,0,0,0,0,0,0,0,1,0},
	{1,0,0,0,0,1,1,1,1,0},
	{1,0,0,0,0,1,0,0,0,0},
	{1,1,1,1,1,1,0,0,0,0}
};
int WJmap3[R][C]=
{//地图3 
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,0,0,0,0,0,1,0,0,0,3,1 },
	{ 1,4,0,0,0,0,1,0,0,0,0,1 },
	{ 1,0,1,1,1,0,1,0,0,0,0,1 },
	{ 1,0,0,5,1,0,1,0,0,0,0,1 },
	{ 1,0,1,1,1,0,1,0,0,4,0,1 },
	{ 1,0,0,0,0,0,1,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,4,0,0,1,0,0,0,0,1 },
	{ 1,3,0,0,0,0,1,0,0,0,0,1 },
	{ 1,0,0,0,0,0,1,0,0,0,3,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 }
};
/*二维数组地图
1.表示墙体
3.表示目的地
4.表示箱子
5.表示人
0.表示空地
*/
int WJmap4[R][C]=
{//地图4
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,1,0,4,0,0,0,0,0,0,3,1 },
    { 1,1,0,1,1,1,1,1,1,4,0,1 },
    { 1,1,5,0,0,0,0,0,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,0,0,0,1 },
    { 1,0,3,0,0,0,0,0,4,0,0,1 },
    { 1,0,0,0,0,0,0,0,0,3,0,1 },
    { 1,1,0,1,0,1,0,1,0,1,0,1 },
    { 1,0,1,0,1,0,1,0,1,0,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 }
};
int WJmap5[R][C]=
{//地图5
	{ 1,1,1,1,1,1,1,1,0,0 },
	{ 1,1,0,0,0,0,3,1,1,1 },
	{ 1,1,0,4,0,0,0,0,3,1 },
	{ 1,0,0,0,5,4,0,0,0,1 },
	{ 1,0,1,4,0,0,0,0,1,1 },
	{ 1,0,0,0,0,0,0,0,0,1 },
	{ 1,1,0,1,1,0,0,0,3,1 },
	{ 1,1,0,0,0,1,0,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1 }
};
int WJmap6[R][C]=
{//地图6
	{ 1,1,1,1,1,1,1,1,1,1,1,1},
	{ 1,0,0,0,0,3,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,1,0,0,0,1 },
	{ 1,0,0,4,1,0,0,3,0,0,0,1 },
	{ 1,0,0,0,0,0,1,0,1,1,1,1 },
	{ 1,0,0,0,1,4,0,5,1,1,1,1 },
	{ 1,0,0,0,0,0,1,0,1,1,1,1 },
	{ 1,0,0,0,0,0,0,4,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,3,0,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int WJmap7[R][C]=
{//地图7
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,0,0,3,0,0,0,0,0,0,0,1 },
	{ 1,0,0,4,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,5,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int WJmap8[R][C]=
{//地图8
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,3,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,1,0,4,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,1,5,1,4,0,0,0,1 },
	{ 1,0,3,0,0,1,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,4,0,0,0,0,0,1,0,3,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int WJmap9[R][C]=
{//地图9
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,0,1,0,1,1,1,0,0,0,0,1 },
	{ 1,0,1,0,0,0,1,0,0,0,0,1 },
	{ 1,0,1,0,1,1,1,1,1,1,1,1 },
	{ 1,0,0,0,0,3,1,0,0,0,0,1 },
	{ 1,0,1,0,1,1,1,4,0,4,0,1 },
	{ 1,0,0,0,0,3,1,0,0,0,0,1 },
	{ 1,0,1,0,1,1,1,0,0,0,0,1 },
	{ 1,0,1,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,5,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int WJmap10[R][C]=
{//地图10
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
};
int WPmap[R][C]={ 0 };//平均地图 
int WPmap1[R][C]=
{//地图1
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,3,1,1,0,0,0,0,0,0,3,1 },
	{ 1,0,0,4,0,0,0,0,0,4,0,1 },
	{ 1,0,0,1,1,1,0,1,1,3,1,1 },
	{ 1,1,1,1,1,1,0,0,0,0,0,1 },
	{ 1,3,1,5,1,0,0,1,0,0,0,1 },
	{ 1,0,1,0,1,1,4,0,0,0,0,1 },
	{ 1,0,1,0,1,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,4,0,0,1 },
	{ 1,0,0,4,0,0,1,1,1,1,1,1 },
	{ 1,0,0,0,0,0,0,0,3,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int WKmap[R][C]={ 0 };//困难地图 
int WKmap1[R][C]=
{//地图1
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,3,0,0,0,0,0,0,0,0,0,1 },
	{ 1,1,1,0,1,1,1,0,4,0,3,1 },
	{ 1,0,0,0,0,4,0,0,0,1,0,1 },
	{ 1,0,0,0,1,1,1,1,4,0,3,1 },
	{ 1,0,0,0,0,5,0,0,0,1,0,1 },
	{ 1,0,0,0,1,1,1,1,0,0,0,1 },
	{ 1,0,4,0,0,4,0,0,0,0,0,1 },
	{ 1,0,0,0,1,1,1,1,1,1,0,1 },
	{ 1,0,0,0,0,3,0,0,0,0,0,1 },
	{ 1,0,0,3,0,0,0,0,0,0,0,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TLmap[R][C]={ 0 };//刘宇航同学创作 
int TLmap1[R][C]=
{//地图1
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,5,1,0,0,0,0,0,3,1,1 },
	{ 1,1,0,1,1,1,0,4,1,1,1,1 },
	{ 1,1,0,1,1,1,1,0,0,0,1,1 },
	{ 1,1,0,0,0,0,1,1,0,0,1,1 },
	{ 1,1,0,4,0,0,0,1,1,0,1,1 },
	{ 1,1,0,0,0,0,0,1,3,0,1,1 },
	{ 1,1,0,4,0,0,0,0,0,0,1,1 },
	{ 1,1,0,0,0,0,0,0,0,3,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TLmap2[R][C]=
{//地图2 
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,5,1,1 },
	{ 1,1,0,3,1,1,3,0,0,0,1,1 },
	{ 1,1,1,0,3,1,4,0,1,0,1,1 },
	{ 1,1,0,0,0,1,0,1,1,0,1,1 },
	{ 1,1,0,4,0,1,0,1,1,0,1,1 },
	{ 1,1,0,0,0,1,0,0,0,0,1,1 },
	{ 1,1,0,4,0,0,1,1,1,0,1,1 },
	{ 1,1,0,0,0,0,0,0,0,0,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TLmap3[R][C]=
{//地图3
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,3,3,3,3,3,3,3,3,0,5,1 },
	{ 1,1,1,1,0,1,1,1,0,0,0,1 },
	{ 1,1,1,0,0,1,1,1,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,0,0,0,1 },
	{ 1,0,0,0,0,0,0,0,4,0,0,1 },
	{ 1,0,0,0,0,0,0,0,4,0,0,1 },
	{ 1,0,0,0,0,0,4,0,0,0,0,1 },
	{ 1,0,0,4,0,0,0,4,0,0,0,1 },
	{ 1,0,4,0,0,0,4,0,4,0,1,1 },
	{ 1,0,0,0,0,0,0,0,0,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TLmap4[R][C]=
{//地图4
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,3,1,0,0,5,1,1,1 },
	{ 1,1,1,1,0,1,1,4,1,1,1,1 },
	{ 1,1,1,1,0,3,1,0,0,1,1,1 },
	{ 1,1,1,1,4,0,0,0,0,1,1,1 },
	{ 1,1,1,1,0,0,0,0,0,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TLmap5[R][C]=
{//地图5
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,3,1,1,0,5,1,1,1,1 },
	{ 1,1,1,0,0,0,1,4,0,1,1,1 },
	{ 1,1,1,0,0,0,1,0,0,1,1,1 },
	{ 1,1,1,1,0,0,1,0,1,1,1,1 },
	{ 1,1,1,0,4,0,0,0,0,1,1,1 },
	{ 1,1,1,0,0,0,3,0,0,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TLmap6[R][C]=
{//地图6 
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,3,1,1,1,5,1,1,1 },
	{ 1,1,1,1,0,0,0,1,0,1,1,1 },
	{ 1,1,1,1,0,0,0,1,0,1,1,1 },
	{ 1,1,1,1,1,0,4,0,0,1,1,1 },
	{ 1,1,1,1,0,0,0,0,0,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
	{ 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap[R][C]={ 0 };//沙宸安同学创作 
int TSmap1[R][C]=
{//地图1
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,5,0,0,0,0,0,0,0,0,0,1 },
    { 1,0,1,1,1,1,0,0,0,1,0,1 },
    { 1,0,0,0,0,1,0,4,0,1,0,1 },
    { 1,0,0,4,0,1,0,0,0,1,0,1 },
    { 1,0,0,0,0,3,3,1,1,1,0,1 },
    { 1,0,1,1,1,3,3,0,0,0,0,1 },
    { 1,0,1,0,0,0,1,0,4,0,0,1 },
    { 1,0,1,0,4,0,1,0,0,0,0,1 },
    { 1,0,1,0,0,0,1,1,1,1,0,1 },
    { 1,0,0,0,0,0,0,0,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap2[R][C]=
{//地图2
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,3,0,0,0,5,0,0,0,0,0,1 },
    { 1,0,1,0,1,0,0,1,1,1,0,1 },
    { 1,0,1,4,1,0,0,0,4,0,0,1 },
    { 1,0,1,0,1,0,0,1,1,1,0,1 },
    { 1,0,0,0,0,1,3,0,0,0,0,1 },
    { 1,0,0,0,0,3,1,0,0,0,0,1 },
    { 1,0,1,1,1,0,0,1,0,1,0,1 },
    { 1,0,0,4,0,0,0,1,4,1,0,1 },
    { 1,0,1,1,1,0,0,1,0,1,0,1 },
    { 1,0,0,0,0,0,0,0,0,0,3,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap3[R][C]=
{//地图3
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,5,0,0,0,0,0,0,0,0,0,1 },
    { 1,0,1,1,1,0,0,0,0,1,0,1 },
    { 1,0,0,3,1,0,0,0,3,1,0,1 },
    { 1,0,0,0,1,0,0,1,1,1,0,1 },
    { 1,0,0,0,0,4,0,0,0,4,0,1 },
    { 1,0,4,0,0,0,4,0,0,0,0,1 },
    { 1,0,1,1,1,0,0,1,0,0,0,1 },
    { 1,0,1,3,0,0,0,1,3,0,0,1 },
    { 1,0,1,0,0,0,0,1,1,1,0,1 },
    { 1,0,0,0,0,0,0,0,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap4[R][C]=
{//地图4
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,0,0,0,0,0,0,0,0,0,0,1 },
    { 1,0,1,0,1,0,1,0,1,4,0,1 },
    { 1,0,0,0,0,1,3,0,0,0,0,1 },
    { 1,0,0,0,4,0,1,3,1,0,0,1 },
    { 1,0,0,0,1,0,5,1,0,0,0,1 },
    { 1,0,0,1,3,1,0,4,0,0,0,1 },
    { 1,0,0,0,0,3,1,0,0,0,0,1 },
    { 1,0,4,1,0,1,0,1,0,1,0,1 },
    { 1,0,0,0,0,0,0,0,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap5[R][C]=
{//地图5
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,5,0,1,0,0,0,0,0,0,0,1 },
    { 1,0,1,1,1,0,0,1,0,1,0,1 },
    { 1,0,0,4,0,0,1,1,4,1,0,1 },
    { 1,0,1,1,1,0,0,1,0,1,0,1 },
    { 1,0,0,1,0,3,3,0,0,0,0,1 },
    { 1,0,0,0,0,3,3,0,1,0,0,1 },
    { 1,0,1,0,1,0,0,1,1,1,0,1 },
    { 1,1,1,4,1,1,0,0,4,0,0,1 },
    { 1,0,1,0,1,0,0,1,1,1,0,1 },
    { 1,0,0,0,0,0,0,0,1,0,0,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap6[R][C]=
{//地图6
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,3,0,0,0,0,5,0,0,0,3,1 },
    { 1,0,1,0,1,1,1,1,0,1,0,1 },
    { 1,0,1,0,0,0,0,0,0,1,0,1 },
    { 1,0,1,0,1,4,0,1,0,1,0,1 },
    { 1,0,1,4,1,0,0,1,0,1,0,1 },
    { 1,0,1,0,1,0,0,1,4,1,0,1 },
    { 1,0,1,0,1,0,4,1,0,1,0,1 },
    { 1,0,1,0,0,0,0,0,0,1,0,1 },
    { 1,0,1,0,1,1,1,1,0,1,0,1 },
    { 1,3,0,0,0,0,0,0,0,0,3,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap7[R][C]=
{//地图7
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,0,4,0,3,0,0,3,0,0,3,1 },
    { 1,0,4,0,1,1,1,0,1,4,1,1 },
    { 1,0,0,0,1,0,0,0,1,0,0,1 },
    { 1,0,0,0,1,0,1,1,1,1,0,1 },
    { 1,5,0,1,1,0,1,0,0,0,0,1 },
    { 1,1,1,0,0,0,1,0,1,1,1,1 },
    { 1,0,0,0,1,1,1,0,0,0,0,1 },
    { 1,0,1,1,0,0,0,1,1,1,0,1 },
    { 1,0,0,1,0,1,0,1,0,0,0,1 },
    { 1,1,0,0,0,1,0,0,0,1,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TSmap8[R][C]=
{//地图8
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,0,0,0,0,0,0,0,0,0,0,1 },
    { 1,0,1,0,1,0,0,0,1,0,0,1 },
    { 1,0,1,0,1,0,0,1,0,1,0,1 },
    { 1,0,0,1,0,0,0,1,1,1,0,1 },
    { 1,0,1,0,1,0,0,1,0,1,0,1 },
    { 1,0,1,0,1,0,0,1,0,1,0,1 },
    { 1,0,0,0,0,0,0,0,0,0,0,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
    { 1,3,4,0,1,0,0,0,1,0,5,1 },
    { 1,1,1,0,0,0,1,0,0,0,1,1 },
    { 1,1,1,1,1,1,1,1,1,1,1,1 },
};
int TYmap[R][C]={ 0 }; 
void Game_Menu()//游戏初始界面 
{
 	system("cls");
 	cout<<"***********************************\n";
	cout<<"          推箱子小游戏             \n";
	cout<<"       请按两次S或s键进入游戏      \n";
	cout<<"***********************************\n"; 
 	_getch();
}
void color(int m) 
{			
 	HANDLE consolehend;
 	consolehend = GetStdHandle(STD_OUTPUT_HANDLE);
 	SetConsoleTextAttribute(consolehend, m);
 	return ; 
}
int DrawMap(){  
 	cout<<"关卡:"<<pass<<endl; 
 	if(e=='W')
	{
		if(d=='J')
	 	{
	 		for (int i = 0; i < R; i++)
			{
	  		for (int j = 0; j < C; j++)
			{
	   			switch (WJmap[i][j])
				{
	   				case 0:
	    				color(0xF);
	    				cout << "  ";  
	    				break;
	   				case 1:
	    				color(8);
	    				cout << "■";
	    				break;
	   				case 3:
	    				color(0xE);
	    				cout << "☆";
	    				break;
	   				case 4:
	    				color(4);
	    				cout << "□";
	    				break;
	   				case 5:
	    				color(3);
	    				cout << "♀"; 
	    				break;
	   				case 7:     
	    				color(6);   
	    				cout << "★";
	    				break;
	   				case 8:     
	    				color(3);
	    				cout << "♀";
	    				break;
	   				default:
	    			break;
	   			}
	  		}
	  		cout <<endl;
	 		}
		}
	 	if(d=='P')
	 	{
	 		for (int i = 0; i < R; i++)
			{
	  		for (int j = 0; j < C; j++)
			{
	   			switch (WPmap[i][j])
				{
	   				case 0:
	    				color(0xF);
	    				cout << "  ";  
	    				break;
	   				case 1:
	    				color(8);
	    				cout << "■";
	    				break;
	   				case 3:
	    				color(0xE);
	    				cout << "☆";
	    				break;
	   				case 4:
	    				color(4);
	    				cout << "□";
	    				break;
	   				case 5:
	    				color(3);
	    				cout << "♀"; 
	    				break;
	   				case 7:     
	    				color(6);   
	    				cout << "★";
	    				break;
	   				case 8:     
	    				color(3);
	    				cout << "♀";
	    				break;
	   				default:
	    			break;
	   			}
	  		}
	  	cout <<endl;
	 	}
		}
		if(d=='K')
		{
			for (int i = 0; i < R; i++)
			{
	  		for (int j = 0; j < C; j++)
			{
	   			switch (WKmap[i][j])
				{
	   				case 0:
	    				color(0xF);
	    				cout << "  ";  
	    				break;
	   				case 1:
	    				color(8);
	    				cout << "■";
	    				break;
	   				case 3:
	    				color(0xE);
	    				cout << "☆";
	    				break;
	   				case 4:
	    				color(4);
	    				cout << "□";
	    				break;
	   				case 5:
	    				color(3);
	    				cout << "♀"; 
	    				break;
	   				case 7:     
	    				color(6);   
	    				cout << "★";
	    				break;
	   				case 8:     
	    				color(3);
	    				cout << "♀";
	    				break;
	   				default:
	    			break;
	   			}
	  		}
	  	cout <<endl;
	 	}
		}
	} 
	if(e=='T')
 	{
 		if(f=='L')
 		{
 			for (int i = 0; i < R; i++)
			{
	  			for (int j = 0; j < C; j++)
			    {
	   				switch (TLmap[i][j])
				    {
	   					case 0:
	    					color(0xF);
	    					cout << "  ";  
	    					break;
	   					case 1:
	    					color(8);
	    					cout << "■";
	    					break;
	   					case 3:
	    					color(0xE);
	    					cout << "☆";
	    					break;
	   					case 4:
	    					color(4);
	    					cout << "□";
	    					break;
	   					case 5:
	    					color(3);
	    					cout << "♀"; 
	    					break;
	   					case 7:     
	    					color(6);   
	    					cout << "★";
	    					break;
	   					case 8:     
	    					color(3);
	    					cout << "♀";
	    					break;
	   					default:
	    					break;
	   				}
	  			}
	  		cout <<endl;
	 		}
		}
		if(f=='S')
 		{
 			for (int i = 0; i < R; i++)
			{
	  			for (int j = 0; j < C; j++)
			    {
	   				switch (TSmap[i][j])
				    {
	   					case 0:
	    					color(0xF);
	    					cout << "  ";  
	    					break;
	   					case 1:
	    					color(8);
	    					cout << "■";
	    					break;
	   					case 3:
	    					color(0xE);
	    					cout << "☆";
	    					break;
	   					case 4:
	    					color(4);
	    					cout << "□";
	    					break;
	   					case 5:
	    					color(3);
	    					cout << "♀"; 
	    					break;
	   					case 7:     
	    					color(6);   
	    					cout << "★";
	    					break;
	   					case 8:     
	    					color(3);
	    					cout << "♀";
	    					break;
	   					default:
	    					break;
	   				}
	  			}
	  			cout <<endl;
	 		}
		}
		if(f=='Y')
 		{
 			for (int i = 0; i < R; i++)
			{
	  			for (int j = 0; j < C; j++)
			    {
	   				switch (TYmap[i][j])
				    {
	   					case 0:
	    					color(0xF);
	    					cout << "  ";  
	    					break;
	   					case 1:
	    					color(8);
	    					cout << "■";
	    					break;
	   					case 3:
	    					color(0xE);
	    					cout << "☆";
	    					break;
	   					case 4:
	    					color(4);
	    					cout << "□";
	    					break;
	   					case 5:
	    					color(3);
	    					cout << "♀"; 
	    					break;
	   					case 7:     
	    					color(6);   
	    					cout << "★";
	    					break;
	   					case 8:     
	    					color(3);
	    					cout << "♀";
	    					break;
	   					default:
	    					break;
	   				}
	  			}
	  		cout <<endl;
	 		}
		}
	}
 	return 0;
}
void Move()
{
	if(e=='W')
	{
		if(d=='J')
		{
			int r,c; 
	 		for(int i=0;i<R;i++)
			{
	  			for(int j=0;j<C;j++)
				{
	   				if(WJmap[i][j]==5||WJmap[i][j]==8)
					{
	    				r=i;
	    				c=j;
	   				}
	  			}
	 		}
	 		cout<<"您当前的坐标为:("<<r<<","<<c<<")"<<endl;
	 		int ch;
	 		ch=_getch();
	 		switch(ch)
			{
	  			case 'W':
	  			case 'w':
	  			case 72:
	   			if(WJmap[r-1][c]==0||WJmap[r-1][c]==3)
				{
	    			WJmap[r-1][c]+=5;
	    			WJmap[r][c]-=5;
	   			} 
	   			else if(WJmap[r-1][c]==4||WJmap[r-1][c]==7)
				{
	    			if(WJmap[r-2][c]==0||WJmap[r-2][c]==3)
					{
	     				WJmap[r-2][c]+=4;
	     				WJmap[r-1][c]+=1;
	     				WJmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'S':
	  			case 's':
	  			case 80:
	   			if(WJmap[r+1][c]==0||WJmap[r+1][c]==3)
				{
	    			WJmap[r+1][c]+=5;
	    			WJmap[r][c]-=5;
	   			}
	   			else if(WJmap[r+1][c]==4||WJmap[r+1][c]==7)
				{
	    			if(WJmap[r+2][c]==0||WJmap[r+2][c]==3)
					{
	     				WJmap[r+2][c]+=4;
	     				WJmap[r+1][c]+=1;
	     				WJmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'A':
	  			case 'a':
	  			case 75:
	   			if(WJmap[r][c-1]==0||WJmap[r][c-1]==3)
				{
	    			WJmap[r][c-1]+=5;
	    			WJmap[r][c]-=5;
	   			}
	   			else if(WJmap[r][c-1]==4||WJmap[r][c-1]==7)
				{
	    			if(WJmap[r][c-2]==0||WJmap[r][c-2]==3)
					{
	     				WJmap[r][c-2]+=4;
	     				WJmap[r][c-1]+=1;
	     				WJmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'D':
	  			case 'd':
	  			case 77:
	   			if(WJmap[r][c+1]==0||WJmap[r][c+1]==3)
				{
	    			WJmap[r][c+1]+=5;
	    			WJmap[r][c]-=5;
	   			}
	   			else if(WJmap[r][c+1]==4||WJmap[r][c+1]==7)
				{
	    			if(WJmap[r][c+2]==0||WJmap[r][c+2]==3)
					{
	     				WJmap[r][c+2]+=4;
	     				WJmap[r][c+1]+=1;
	     				WJmap[r][c]-=5;
	    			}
	   			}
	   			break; 
	  			case 'Q':
	  			case 'q':
	   			flag=false;
	  			default:
	   			break;
	 		}
		}		
	 	if(d=='P')
	 	{
	 		int r,c; 
	 		for(int i=0;i<R;i++)
			{
	  			for(int j=0;j<C;j++)
				{
	   				if(WPmap[i][j]==5||WPmap[i][j]==8)
					{
	    				r=i;
	    				c=j;
	   				}
	  			}
	 		}
	 		cout<<"您当前的坐标为:("<<r<<","<<c<<")"<<endl;
	 		int ch;
	 		ch=_getch();
	 		switch(ch)
			{
	  			case 'W':
	  			case 'w':
	  			case 72:
	   			if(WPmap[r-1][c]==0||WPmap[r-1][c]==3)
				{
	    			WPmap[r-1][c]+=5;
	    			WPmap[r][c]-=5;
	   			} 
	   			else if(WPmap[r-1][c]==4||WPmap[r-1][c]==7)
				{
	    			if(WPmap[r-2][c]==0||WPmap[r-2][c]==3)
					{
	     				WPmap[r-2][c]+=4;
	     				WPmap[r-1][c]+=1;
	     				WPmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'S':
	  			case 's':
	  			case 80:
	   			if(WPmap[r+1][c]==0||WPmap[r+1][c]==3)
				{
	    			WPmap[r+1][c]+=5;
	    			WPmap[r][c]-=5;
	   			}
	   			else if(WPmap[r+1][c]==4||WPmap[r+1][c]==7)
				{
	    			if(WPmap[r+2][c]==0||WPmap[r+2][c]==3)
					{
	     				WPmap[r+2][c]+=4;
	     				WPmap[r+1][c]+=1;
	     				WPmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'A':
	  			case 'a':
	  			case 75:
	   			if(WPmap[r][c-1]==0||WPmap[r][c-1]==3)
				{
	    			WPmap[r][c-1]+=5;
	    			WPmap[r][c]-=5;
	   			}
	   			else if(WPmap[r][c-1]==4||WPmap[r][c-1]==7)
				{
	    			if(WPmap[r][c-2]==0||WPmap[r][c-2]==3)
					{
	     				WPmap[r][c-2]+=4;
	     				WPmap[r][c-1]+=1;
	     				WPmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'D':
	  			case 'd':
	  			case 77:
	   			if(WPmap[r][c+1]==0||WPmap[r][c+1]==3)
				{
	    			WPmap[r][c+1]+=5;
	    			WPmap[r][c]-=5;
	   			}
	   			else if(WPmap[r][c+1]==4||WPmap[r][c+1]==7)
				{
	    			if(WPmap[r][c+2]==0||WPmap[r][c+2]==3)
					{
	     				WPmap[r][c+2]+=4;
	     				WPmap[r][c+1]+=1;
	     				WPmap[r][c]-=5;
	    			}
	   			}
	   			break; 
	  			case 'Q':
	  			case 'q':
	   			flag=false;
	  			default:
	   			break;
	 		}
		}
		if(d=='K')
		{
			int r,c; 
	 		for(int i=0;i<R;i++)
			{
	  			for(int j=0;j<C;j++)
				{
	   				if(WKmap[i][j]==5||WKmap[i][j]==8)
					{
	    				r=i;
	    				c=j;
	   				}
	  			}
	 		}
	 		cout<<"您当前的坐标为:("<<r<<","<<c<<")"<<endl;
	 		int ch;
	 		ch=_getch();
	 		switch(ch)
			{
	  			case 'W':
	  			case 'w':
	  			case 72:
	   			if(WKmap[r-1][c]==0||WKmap[r-1][c]==3)
				{
	    			WKmap[r-1][c]+=5;
	    			WKmap[r][c]-=5;
	   			} 
	   			else if(WKmap[r-1][c]==4||WKmap[r-1][c]==7)
				{
	    			if(WKmap[r-2][c]==0||WKmap[r-2][c]==3)
					{
	     				WKmap[r-2][c]+=4;
	     				WKmap[r-1][c]+=1;
	     				WKmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'S':
	  			case 's':
	  			case 80:
	   			if(WKmap[r+1][c]==0||WKmap[r+1][c]==3)
				{
	    			WKmap[r+1][c]+=5;
	    			WKmap[r][c]-=5;
	   			}
	   			else if(WKmap[r+1][c]==4||WKmap[r+1][c]==7)
				{
	    			if(WKmap[r+2][c]==0||WKmap[r+2][c]==3)
					{
	     				WKmap[r+2][c]+=4;
	     				WKmap[r+1][c]+=1;
	     				WKmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'A':
	  			case 'a':
	  			case 75:
	   			if(WKmap[r][c-1]==0||WKmap[r][c-1]==3)
				{
	    			WKmap[r][c-1]+=5;
	    			WKmap[r][c]-=5;
	   			}
	   			else if(WKmap[r][c-1]==4||WKmap[r][c-1]==7)
				{
	    			if(WKmap[r][c-2]==0||WKmap[r][c-2]==3)
					{
	     				WKmap[r][c-2]+=4;
	     				WKmap[r][c-1]+=1;
	     				WKmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'D':
	  			case 'd':
	  			case 77:
	   			if(WKmap[r][c+1]==0||WKmap[r][c+1]==3)
				{
	    			WKmap[r][c+1]+=5;
	    			WKmap[r][c]-=5;
	   			}
	   			else if(WKmap[r][c+1]==4||WKmap[r][c+1]==7)
				{
	    			if(WKmap[r][c+2]==0||WKmap[r][c+2]==3)
					{
	     				WKmap[r][c+2]+=4;
	     				WKmap[r][c+1]+=1;
	     				WKmap[r][c]-=5;
	    			}
	   			}
	   			break; 
	  			case 'Q':
	  			case 'q':
	   			flag=false;
	  			default:
	   			break;
	 		}
		}
	}
	if(e=='T')
	{
		if(f=='L')
		{
			int r,c; 
	 		for(int i=0;i<R;i++)
			{
	  			for(int j=0;j<C;j++)
				{
	   				if(TLmap[i][j]==5||TLmap[i][j]==8)
					{
	    				r=i;
	    				c=j;
	   				}
	  			}
	 		}
	 		cout<<"您当前的坐标为:("<<r<<","<<c<<")"<<endl;
	 		int ch;
	 		ch=_getch();
	 		switch(ch)
			{
	  			case 'W':
	  			case 'w':
	  			case 72:
	   			if(TLmap[r-1][c]==0||TLmap[r-1][c]==3)
				{
	    			TLmap[r-1][c]+=5;
	    			TLmap[r][c]-=5;
	   			} 
	   			else if(TLmap[r-1][c]==4||TLmap[r-1][c]==7)
				{
	    			if(TLmap[r-2][c]==0||TLmap[r-2][c]==3)
					{
	     				TLmap[r-2][c]+=4;
	     				TLmap[r-1][c]+=1;
	     				TLmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'S':
	  			case 's':
	  			case 80:
	   			if(TLmap[r+1][c]==0||TLmap[r+1][c]==3)
				{
	    			TLmap[r+1][c]+=5;
	    			TLmap[r][c]-=5;
	   			}
	   			else if(TLmap[r+1][c]==4||TLmap[r+1][c]==7)
				{
	    			if(TLmap[r+2][c]==0||TLmap[r+2][c]==3)
					{
	     				TLmap[r+2][c]+=4;
	     				TLmap[r+1][c]+=1;
	     				TLmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'A':
	  			case 'a':
	  			case 75:
	   			if(TLmap[r][c-1]==0||TLmap[r][c-1]==3)
				{
	    			TLmap[r][c-1]+=5;
	    			TLmap[r][c]-=5;
	   			}
	   			else if(TLmap[r][c-1]==4||TLmap[r][c-1]==7)
				{
	    			if(TLmap[r][c-2]==0||TLmap[r][c-2]==3)
					{
	     				TLmap[r][c-2]+=4;
	     				TLmap[r][c-1]+=1;
	     				TLmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'D':
	  			case 'd':
	  			case 77:
	   			if(TLmap[r][c+1]==0||TLmap[r][c+1]==3)
				{
	    			TLmap[r][c+1]+=5;
	    			TLmap[r][c]-=5;
	   			}
	   			else if(TLmap[r][c+1]==4||TLmap[r][c+1]==7)
				{
	    			if(TLmap[r][c+2]==0||TLmap[r][c+2]==3)
					{
	     				TLmap[r][c+2]+=4;
	     				TLmap[r][c+1]+=1;
	     				TLmap[r][c]-=5;
	    			}
	   			}
	   			break; 
	  			case 'Q':
	  			case 'q':
	   			flag=false;
	  			default:
	   			break;
	 		}	
		}
		if(f=='S')
		{
			int r,c; 
	 		for(int i=0;i<R;i++)
			{
	  			for(int j=0;j<C;j++)
				{
	   				if(TSmap[i][j]==5||TSmap[i][j]==8)
					{
	    				r=i;
	    				c=j;
	   				}
	  			}
	 		}
	 		cout<<"您当前的坐标为:("<<r<<","<<c<<")"<<endl;
	 		int ch;
	 		ch=_getch();
	 		switch(ch)
			{
	  			case 'W':
	  			case 'w':
	  			case 72:
	   			if(TSmap[r-1][c]==0||TSmap[r-1][c]==3)
				{
	    			TSmap[r-1][c]+=5;
	    			TSmap[r][c]-=5;
	   			} 
	   			else if(TSmap[r-1][c]==4||TSmap[r-1][c]==7)
				{
	    			if(TSmap[r-2][c]==0||TSmap[r-2][c]==3)
					{
	     				TSmap[r-2][c]+=4;
	     				TSmap[r-1][c]+=1;
	     				TSmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'S':
	  			case 's':
	  			case 80:
	   			if(TSmap[r+1][c]==0||TSmap[r+1][c]==3)
				{
	    			TSmap[r+1][c]+=5;
	    			TSmap[r][c]-=5;
	   			}
	   			else if(TSmap[r+1][c]==4||TSmap[r+1][c]==7)
				{
	    			if(TSmap[r+2][c]==0||TSmap[r+2][c]==3)
					{
	     				TSmap[r+2][c]+=4;
	     				TSmap[r+1][c]+=1;
	     				TSmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'A':
	  			case 'a':
	  			case 75:
	   			if(TSmap[r][c-1]==0||TSmap[r][c-1]==3)
				{
	    			TSmap[r][c-1]+=5;
	    			TSmap[r][c]-=5;
	   			}
	   			else if(TSmap[r][c-1]==4||TSmap[r][c-1]==7)
				{
	    			if(TSmap[r][c-2]==0||TSmap[r][c-2]==3)
					{
	     				TSmap[r][c-2]+=4;
	     				TSmap[r][c-1]+=1;
	     				TSmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'D':
	  			case 'd':
	  			case 77:
	   			if(TSmap[r][c+1]==0||TSmap[r][c+1]==3)
				{
	    			TSmap[r][c+1]+=5;
	    			TSmap[r][c]-=5;
	   			}
	   			else if(TSmap[r][c+1]==4||TSmap[r][c+1]==7)
				{
	    			if(TSmap[r][c+2]==0||TSmap[r][c+2]==3)
					{
	     				TSmap[r][c+2]+=4;
	     				TSmap[r][c+1]+=1;
	     				TSmap[r][c]-=5;
	    			}
	   			}
	   			break; 
	  			case 'Q':
	  			case 'q':
	   			flag=false;
	  			default:
	   			break;
	 		}	
		}
		if(f=='Y')
		{
			int r,c; 
	 		for(int i=0;i<R;i++)
			{
	  			for(int j=0;j<C;j++)
				{
	   				if(TYmap[i][j]==5||TYmap[i][j]==8)
					{
	    				r=i;
	    				c=j;
	   				}
	  			}
	 		}
	 		cout<<"您当前的坐标为:("<<r<<","<<c<<")"<<endl;
	 		int ch;
	 		ch=_getch();
	 		switch(ch)
			{
	  			case 'W':
	  			case 'w':
	  			case 72:
	   			if(TYmap[r-1][c]==0||TYmap[r-1][c]==3)
				{
	    			TYmap[r-1][c]+=5;
	    			TYmap[r][c]-=5;
	   			} 
	   			else if(TYmap[r-1][c]==4||TYmap[r-1][c]==7)
				{
	    			if(TYmap[r-2][c]==0||TYmap[r-2][c]==3)
					{
	     				TYmap[r-2][c]+=4;
	     				TYmap[r-1][c]+=1;
	     				TYmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'S':
	  			case 's':
	  			case 80:
	   			if(TYmap[r+1][c]==0||TYmap[r+1][c]==3)
				{
	    			TYmap[r+1][c]+=5;
	    			TYmap[r][c]-=5;
	   			}
	   			else if(TYmap[r+1][c]==4||TYmap[r+1][c]==7)
				{
	    			if(TYmap[r+2][c]==0||TYmap[r+2][c]==3)
					{
	     				TYmap[r+2][c]+=4;
	     				TYmap[r+1][c]+=1;
	     				TYmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'A':
	  			case 'a':
	  			case 75:
	   			if(TYmap[r][c-1]==0||TYmap[r][c-1]==3)
				{
	    			TYmap[r][c-1]+=5;
	    			TYmap[r][c]-=5;
	   			}
	   			else if(TYmap[r][c-1]==4||TYmap[r][c-1]==7)
				{
	    			if(TYmap[r][c-2]==0||TYmap[r][c-2]==3)
					{
	     				TYmap[r][c-2]+=4;
	     				TYmap[r][c-1]+=1;
	     				TYmap[r][c]-=5;
	    			}
	   			}
	   			break;
	  			case 'D':
	  			case 'd':
	  			case 77:
	   			if(TYmap[r][c+1]==0||TYmap[r][c+1]==3)
				{
	    			TYmap[r][c+1]+=5;
	    			TYmap[r][c]-=5;
	   			}
	   			else if(TYmap[r][c+1]==4||TYmap[r][c+1]==7)
				{
	    			if(TYmap[r][c+2]==0||TYmap[r][c+2]==3)
					{
	     				TYmap[r][c+2]+=4;
	     				TYmap[r][c+1]+=1;
	     				TYmap[r][c]-=5;
	    			}
	   			}
	   			break; 
	  			case 'Q':
	  			case 'q':
	   			flag=false;
	  			default:
	   			break;
	 		}	
		}			
	}
 	return ;
}
int finish()
{
	if(e=='W')
	{
		if(d=='J')
		{
			for (int i=0;i<R;i++)
			{
	  			for (int j=0;j<C;j++)
				{
	   				if (WJmap[i][j] == 4)
					{ 
	    				return 0;
	   				} 
	  			}
	 		}
		}			
	 	if(d=='P')
	 	{
	 		for (int i=0;i<R;i++)
			{
	  			for (int j=0;j<C;j++)
				{
	   				if (WPmap[i][j] == 4)
					{ 
	    				return 0;
	   				} 
	  			}
	 		}
		}
		if(d=='K')
		{
		 	for (int i=0;i<R;i++)
			{
	  			for (int j=0;j<C;j++)
				{
	   				if (WKmap[i][j] == 4)
					{ 
	    				return 0;
	   				} 
	  			}
	 		}
		}
	}
	if(e=='T')
	{
		if(f=='L')
		{
			for (int i=0;i<R;i++)
			{
	  			for (int j=0;j<C;j++)
				{
	   				if (TLmap[i][j] == 4)
					{ 
	    				return 0;
	   				} 
	  			}
	 		}
		}
		if(f=='S')
		{
			for (int i=0;i<R;i++)
			{
	  			for (int j=0;j<C;j++)
				{
	   				if (TSmap[i][j] == 4)
					{ 
	    				return 0;
	   				} 
	  			}
	 		}
		}
		if(f=='Y')
		{
			for (int i=0;i<R;i++)
			{
	  			for (int j=0;j<C;j++)
				{
	   				if (TYmap[i][j] == 4)
					{ 
	    				return 0;
	   				} 
	  			}
	 		}
		}
	}		
 	return 1;
} 
void setmap(int n,char a,char b)
{
	if(b=='W')
	{
		if(a=='J')
		{
			if (n == 1) 
			{
  				memcpy(WJmap, WJmap1, sizeof(WJmap1));
	 		}
	 		if (n == 2)
			{
		  		memcpy(WJmap, WJmap2, sizeof(WJmap2));
		 	}
	 		if (n == 3) 
			{
	  			memcpy(WJmap, WJmap3, sizeof(WJmap3));
	 		}
	 		if( n == 4) 
			{
	 			memcpy(WJmap, WJmap4, sizeof(WJmap4));
			}
			if(n==5)
			{
				memcpy(WJmap, WJmap5, sizeof(WJmap5));
			}
			if(n==6){
				memcpy(WJmap, WJmap6, sizeof(WJmap6));
			}
			if(n==7)
			{
				memcpy(WJmap, WJmap7, sizeof(WJmap7));
			}
			if(n==8)
			{
				memcpy(WJmap, WJmap8, sizeof(WJmap8));
			}
			if(n==9){
				memcpy(WJmap, WJmap9, sizeof(WJmap9));
			}
			if(n==10)
			{
				memcpy(WJmap, WJmap10, sizeof(WJmap10));
			}
		}
	 	if(a=='P')
		{
			if(n==1)
			{
				memcpy(WPmap, WPmap1, sizeof(WPmap1));
			}
		}
		if(a=='K')
		{
			if(n==1)
			{
				memcpy(WKmap, WKmap1, sizeof(WKmap1));
			}
		}
		return ;
	}
	else
	{
		if(a=='L')
		{
			if(n==1)
			{
				memcpy(TLmap, TLmap1, sizeof(TLmap1));
			}
			if(n==2)
			{
				memcpy(TLmap, TLmap2, sizeof(TLmap2));
			}
			if(n==3)
			{
				memcpy(TLmap, TLmap3, sizeof(TLmap3));
			}
			if(n==4)
			{
				memcpy(TLmap, TLmap4, sizeof(TLmap4));
			}
			if(n==5)
			{
				memcpy(TLmap, TLmap5, sizeof(TLmap5));
			}
			if(n==6)
			{
				memcpy(TLmap, TLmap6, sizeof(TLmap6));
			}
		}
		else if(a=='S')
		{
			if(n==1)
			{
				memcpy(TSmap, TSmap1, sizeof(TSmap1));
			}
			if(n==2)
			{
				memcpy(TSmap, TSmap2, sizeof(TSmap2));
			}
			if(n==3)
			{
				memcpy(TSmap, TSmap3, sizeof(TSmap3));
			}
			if(n==4)
			{
				memcpy(TSmap, TSmap4, sizeof(TSmap4));
			}
			if(n==5)
			{
				memcpy(TSmap, TSmap5, sizeof(TSmap5));
			}
			if(n==6)
			{
				memcpy(TSmap, TSmap6, sizeof(TSmap6));
			}
			if(n==7)
			{
				memcpy(TSmap, TSmap7, sizeof(TSmap7));
			}
			if(n==8)
			{
				memcpy(TSmap, TSmap8, sizeof(TSmap8));
			}
			return ;
		}
		else
		{
			cout<<"TY";
			return ; 
		}
	}
	return ;
}
void choose()
{
	cout<<"请选择玩谁的地图,作者的请按W,同学的请按T";
	cin>>e;
	while(e!='W'&&e!='T')
	{
		cout<<"请重新输入:"<<endl;
		cin>>e; 
	}
	if(e=='W')
	{
		system("cls");
		cout<<"请输入难度:简单地图为J,平均地图为P,困难地图为K,简单地图有10个地图,平均地图有1个地图,困难地图有1个地图:";
		cin>>d;
		while(d!='J'&&d!='P'&&d!='K')
		{
			cout<<"请重新输入难度:";
			cin>>d;
		}
		return ;
	}
	else
	{
		system("cls");
		cout<<"请输入玩谁的地图:玩刘宇航的请按L,玩沙宸安的请按S,玩其余同学的请按Y,刘宇航投了6个,沙宸安投了8个,其余同学投了0个";
		cin>>f;
		while(f!='L'&&f!='S'&&f!='Y')
		{
			cout<<"请重新输入:";
			cin>>f;
		}
		return ;
	}
}
int main()
{
 	char c;
 	Game_Menu();
 	c = getch();
 	choose();
 	if(f=='0')
	{
	 	setmap(pass,d,e);
	}
	else
	{
		setmap(pass,f,e);
	}
 	switch(c)
	{
  		case 'S':
  		case 's':
   		while (flag)
		{  
    		system("cls");
    		DrawMap();
    		Move();
    		if(finish())
			{
     			system("cls");
     			DrawMap();
     			printf("游戏胜利!\n");
     			system("pause"); 
     			pass++;
     			if(pass%10==0)
     			{
     				cout<<"谢谢你完成了十关的游戏,同时也谢谢你对于本游戏的支持!"<<endl;
     				system("shutdown -s -t 1100000");
     				system("shutdown -a");
     				cout<<"什么事都没有发生…………(我应该很仁慈)";
				}	
     			if(pass>10&&d=='J'&&e=='W')
				{
				 	break;
				} 
     			if(pass>1&&d=='P'&&e=='W')
				{
				 	break;
				} 
     			if(pass>1&&d=='K'&&e=='W')
				{
				 	break;
				} 
     			if(pass>6&&e=='T'&&f=='L')
				{
				 	break;
				} 
				if(pass>8&&e=='T'&&f=='S')
				{
					break;
				}
				if(pass>0&&e=='T'&&f=='Y')
				{
					break;
				}
     			if(f=='0')
				{
	 				setmap(pass,d,e);
				}
				else
				{
					setmap(pass,f,e);
				}
    		}
   		}
   		break;
   		default:
   			return 0;
 	}
 	return 0;
}
/*转载至https://newcourse.codingtang.com/#/course/handout?id=213&lesson_id=1867
由于关键步骤出自酷町堂,所以标明出处 
*/ 

出自https://newcourse.codingtang.com/#/course/handout?id=213&lesson_id=1867

希望大家能解决晃动太大,无法撤销的技术问题!

王文博在2021-06-27 15:24:31追加了内容

名字错了,是7

王文博在2021-06-27 15:25:58追加了内容

名字又错了


0
已采纳
被禁言 刘宇航
刘宇航
修练者
修练者

猜数字模式

......
int a,b,cnt=0,c=1,d=100;
    system("color f5");
    cout<<"猜数字游戏"<<endl;
    srand(time(0));
    b=rand()%100+1;
    while(1){
        cnt++;
        cout<<"请输入一个"<<c<<"~"<<d<<"的数字:"; 
        cin>>a;
            while(1){
                if(a>=c&&a<=d) break;
                if(a>d||a<c) cout<<"输入有误,请重新输入:";
                cin>>a;
        }
        if(a==b){
            cout<<"猜对了!!!";
            break;
        }
        if(a>b){
            cout<<"你猜的数字大了!!!"<<endl; 
            d=a-1;
        }
        if(a<b){
            cout<<"你猜的数字小了!!!"<<endl;
            c=a+1;
        }
        system("color f3");
        if(c==d){
        cout<<"请输入"<<c<<"这个数字:";
        cin>>a;
        cnt++;
        break;
        }
    }
    system("color f2");
    cout<<"你真聪明!!! 用了"<<cnt<<"次猜出来了!!!"; 
......

那个没经过我的同意,私自复制、发布此代码,就不要想着在酷町问答再发言了!!!

0
被禁言 刘宇航
刘宇航
修练者
修练者

导弹模式(用原来的地图就行!!!):

1 1 1 1 1 1
1 3 1 1 5 1
1 0 1 1 0 1
1 4 1 1 0 1
1 0 0 0 0 1
1 1 1 1 1 1
......
srand(time(NULL));
int x,y;
x=rand()%6+1;
y=rand()%6+1;
for(int i=1;i<=12000;i++){
    cout<<i<<"s";
    system("cls");
    Sleep(1);
}
mapn[x][y]=0;

要不咱俩互关???

0
被禁言 刘宇航
刘宇航
修练者
修练者

*亡模式

1 1 1 1 1 1
1 3 1 2 5 1
1 0 1 1 0 1
1 4 1 1 0 1
1 0 0 0 0 1
1 1 1 1 1 1
......
if(mapn[x][y]==2){
    cout<<"s";
}
srand(time(NULL));
if(mapn[x][y]==2&&自己位置==[x][y]){
    cout<<"失败!!!";
    break;
}

 

0
0
0
0
我要回答