⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datebase.cpp

📁 推箱子游戏 为研究A*寻路算法的实现
💻 CPP
字号:
// DateBase.cpp: implementation of the CDateBase class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DateBase.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDateBase::CDateBase()
{
}

CDateBase::~CDateBase()
{

}

BOOL CDateBase::InitDate(int map[9][8], POINT flagpt[10],int &flagn,
						 POINT &babypoint,int level)
{
	if(level == 1)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,2,2,2,2,2,
				2,1,1,1,1,2,2,2,
				1,1,0,0,1,1,2,2,
				1,0,0,0,0,0,1,1,
				1,0,0,1,3,3,0,1,
				1,0,0,0,0,3,0,1,
				1,1,1,1,1,1,1,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=3;
		flagpt[0].y=6;
		flagpt[1].x=5;
		flagpt[1].y=6;
		flagpt[2].x=6;
		flagpt[2].y=6;
		flagn = 3;
		babypoint.x = 6;
		babypoint.y = 5;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 2)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,2,2,2,2,2,
				2,1,1,1,1,1,1,1,
				1,1,0,0,0,0,0,1,
				1,0,0,1,0,0,0,1,
				1,0,3,3,3,0,1,1,
				1,0,0,1,0,0,1,2,
				1,0,0,1,1,1,1,2,
				1,1,1,2,2,2,2,2
		};
		flagpt[0].x=1;
		flagpt[0].y=4;
		flagpt[1].x=2;
		flagpt[1].y=6;
		flagpt[2].x=5;
		flagpt[2].y=5;
		flagn = 3;
		babypoint.x = 2;
		babypoint.y = 3;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 3)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				1,1,1,1,1,1,1,1,
				1,0,0,0,0,0,0,1,
				1,0,1,0,1,1,3,1,
				1,0,1,0,0,3,0,1,
				1,0,3,0,0,0,0,1,
				1,1,1,1,1,0,0,1,
				2,2,2,2,1,0,0,1,
				2,2,2,2,1,1,1,1
		};
		flagpt[0].x=1;
		flagpt[0].y=5;
		flagpt[1].x=4;
		flagpt[1].y=5;
		flagpt[2].x=6;
		flagpt[2].y=3;
		flagn = 3;
		babypoint.x = 3;
		babypoint.y = 4;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 4)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,1,1,1,1,1,2,2,
				2,1,0,0,0,1,1,1,
				2,1,0,0,3,0,0,1,
				2,1,1,3,3,0,0,1,
				2,2,1,0,0,0,0,1,
				2,2,1,1,0,1,0,1,
				2,2,2,1,0,0,0,1,
				2,2,2,2,1,1,1,1
		};
		flagpt[0].x=6;
		flagpt[0].y=4;
		flagpt[1].x=5;
		flagpt[1].y=5;
		flagpt[2].x=6;
		flagpt[2].y=7;
		flagn = 3;
		babypoint.x = 3;
		babypoint.y = 5;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 5)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				1,1,1,1,1,2,2,2,
				1,0,0,0,1,1,1,1,
				1,0,3,3,0,0,0,1,
				1,0,0,1,0,0,0,1,
				1,0,0,1,1,0,1,1,
				1,0,0,1,1,3,1,2,
				1,0,0,0,0,0,1,2,
				1,1,1,1,1,1,1,2
		};
		flagpt[0].x=2;
		flagpt[0].y=4;
		flagpt[1].x=4;
		flagpt[1].y=4;
		flagpt[2].x=5;
		flagpt[2].y=7;
		flagn = 3;
		babypoint.x = 1;
		babypoint.y = 7;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 6)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,2,2,2,2,2,
				1,1,1,1,1,1,2,2,
				1,0,0,0,0,1,2,2,
				1,0,0,1,0,1,1,1,
				1,0,0,3,3,0,0,1,
				1,0,3,0,0,0,0,1,
				1,1,1,1,1,1,1,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=2;
		flagpt[0].y=3;
		flagpt[1].x=2;
		flagpt[1].y=4;
		flagpt[2].x=3;
		flagpt[2].y=6;
		flagn = 3;
		babypoint.x = 1;
		babypoint.y = 3;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 7)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				1,1,1,1,1,1,1,1,
				1,0,0,0,1,0,0,1,
				1,0,0,3,0,0,0,1,
				1,0,0,1,3,0,0,1,
				1,0,0,3,0,0,1,1,
				1,1,1,0,0,1,2,2,
				2,2,1,0,0,1,2,2,
				2,2,2,1,1,2,2,2
		};
		flagpt[0].x=3;
		flagpt[0].y=2;
		flagpt[1].x=2;
		flagpt[1].y=3;
		flagpt[2].x=5;
		flagpt[2].y=3;
		flagn = 3;
		babypoint.x = 2;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 8)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,1,1,1,1,1,1,1,
				1,1,0,0,0,0,0,1,
				1,0,3,0,0,3,0,1,
				1,0,3,0,1,1,1,1,
				1,0,0,1,1,2,2,2,
				1,0,0,1,2,2,2,2,
				1,0,0,1,2,2,2,2,
				1,1,1,1,2,2,2,2
		};
		flagpt[0].x=5;
		flagpt[0].y=2;
		flagpt[1].x=1;
		flagpt[1].y=4;
		flagpt[2].x=3;
		flagpt[2].y=4;
		flagn = 3;
		babypoint.x = 6;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 9)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,1,1,1,1,1,1,2,
				2,1,0,0,0,0,1,2,
				2,1,0,0,1,0,1,2,
				2,1,0,0,3,0,1,1,
				2,1,1,3,1,0,0,1,
				2,1,0,0,0,1,0,1,
				2,1,0,0,3,0,0,1,
				2,1,1,1,1,1,1,1
		};
		flagpt[0].x=3;
		flagpt[0].y=2;
		flagpt[1].x=2;
		flagpt[1].y=7;
		flagpt[2].x=4;
		flagpt[2].y=7;
		flagn = 3;
		babypoint.x = 5;
		babypoint.y = 3;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 10)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				1,1,1,1,1,1,1,1,
				1,0,0,1,0,0,0,1,
				1,0,3,0,0,3,0,1,
				1,0,3,0,3,0,1,1,
				1,0,3,0,0,3,0,1,
				1,0,0,1,0,0,0,1,
				1,1,1,1,1,1,1,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=2;
		flagpt[0].y=3;
		flagpt[1].x=2;
		flagpt[1].y=4;
		flagpt[2].x=2;
		flagpt[2].y=5;
		flagpt[3].x=3;
		flagpt[3].y=3;
		flagpt[4].x=3;
		flagpt[4].y=4;
		flagpt[5].x=3;
		flagpt[5].y=5;
		flagn = 6;
		babypoint.x = 1;
		babypoint.y = 4;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 11)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,1,1,1,1,1,
				1,1,1,1,0,0,0,1,
				1,0,3,0,0,0,0,1,
				1,0,3,0,1,0,0,1,
				1,0,1,0,0,3,0,1,
				1,0,0,0,1,1,1,1,
				1,1,1,1,1,2,2,2,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=2;
		flagpt[0].y=3;
		flagpt[1].x=5;
		flagpt[1].y=2;
		flagpt[2].x=5;
		flagpt[2].y=3;
		flagn = 3;
		babypoint.x = 3;
		babypoint.y = 3;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 12)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,2,2,2,2,2,
				2,2,1,1,1,1,2,2,
				1,1,1,0,0,1,1,1,
				1,0,0,0,0,3,0,1,
				1,0,0,3,3,0,0,1,
				1,1,1,1,0,0,0,1,
				2,2,2,1,1,1,1,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=2;
		flagpt[0].y=4;
		flagpt[1].x=3;
		flagpt[1].y=4;
		flagpt[2].x=6;
		flagpt[2].y=4;
		flagn = 3;
		babypoint.x = 6;
		babypoint.y = 5;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 13)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,2,1,1,1,1,
				2,2,2,2,1,0,0,1,
				1,1,1,1,1,0,0,1,
				1,0,3,0,3,0,3,1,
				1,0,0,0,0,0,0,1,
				1,1,1,0,0,0,0,1,
				2,2,1,1,1,1,1,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=6;
		flagpt[0].y=4;
		flagpt[1].x=4;
		flagpt[1].y=5;
		flagpt[2].x=4;
		flagpt[2].y=6;
		flagn = 3;
		babypoint.x = 5;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 14)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				1,1,1,1,1,1,1,1,
				1,0,0,0,1,0,0,1,
				1,0,1,0,3,0,3,1,
				1,0,0,0,3,0,0,1,
				1,1,1,1,1,0,0,1,
				2,2,1,0,0,0,0,1,
				2,2,1,0,0,0,0,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=3;
		flagpt[0].y=3;
		flagpt[1].x=5;
		flagpt[1].y=5;
		flagpt[2].x=6;
		flagpt[2].y=7;
		flagn = 3;
		babypoint.x = 6;
		babypoint.y = 6;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 15)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,1,1,1,1,2,
				2,2,1,1,0,0,1,1,
				2,1,1,0,0,0,0,1,
				1,1,0,3,1,3,1,1,
				1,0,0,0,3,0,0,1,
				1,0,0,1,0,0,0,1,
				1,0,0,0,0,1,1,1,
				1,1,1,1,1,1,2,2
		};
		flagpt[0].x=5;
		flagpt[0].y=3;
		flagpt[1].x=6;
		flagpt[1].y=3;
		flagpt[2].x=5;
		flagpt[2].y=5;
		flagn = 3;
		babypoint.x = 4;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 16)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				1,1,1,1,1,1,2,2,
				1,0,0,0,0,1,2,2,
				1,0,3,3,1,1,1,1,
				1,0,3,0,0,0,0,1,
				1,1,0,1,0,1,0,1,
				1,0,0,0,0,1,0,1,
				1,0,0,0,0,0,0,1,
				1,1,1,1,1,1,1,1
		};
		flagpt[0].x=4;
		flagpt[0].y=4;
		flagpt[1].x=4;
		flagpt[1].y=5;
		flagpt[2].x=1;
		flagpt[2].y=6;
		flagn = 3;
		babypoint.x = 4;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 17)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,1,1,1,1,2,
				2,2,2,1,0,0,1,2,
				1,1,1,1,0,3,1,1,
				1,0,0,3,0,0,0,1,
				1,0,1,1,0,0,0,1,
				1,0,0,0,1,1,0,1,
				1,0,0,0,3,0,0,1,
				1,1,1,1,1,1,1,1
		};
		flagpt[0].x=4;
		flagpt[0].y=4;
		flagpt[1].x=4;
		flagpt[1].y=7;
		flagpt[2].x=6;
		flagpt[2].y=7;
		flagn = 3;
		babypoint.x = 2;
		babypoint.y = 4;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 18)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,1,1,1,1,1,
				2,2,2,1,0,0,0,1,
				2,1,1,1,0,0,0,1,
				2,1,0,3,0,3,1,1,
				1,1,0,3,0,0,1,2,
				1,0,0,0,1,0,1,2,
				1,0,0,0,0,0,1,2,
				1,1,1,1,1,1,1,2
		};
		flagpt[0].x=1;
		flagpt[0].y=6;
		flagpt[1].x=1;
		flagpt[1].y=7;
		flagpt[2].x=2;
		flagpt[2].y=7;
		flagn = 3;
		babypoint.x = 5;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 19)
	{
		int themap[9][8] = {
		    	2,2,2,2,2,2,2,2,
				2,2,2,1,1,1,1,1,
				1,1,1,1,0,0,0,1,
				1,0,0,0,3,0,0,1,
				1,0,1,0,0,1,1,1,
				1,0,3,0,3,0,0,1,
				1,1,1,1,0,0,0,1,
				2,2,2,1,1,1,1,1,
				2,2,2,2,2,2,2,2
		};
		flagpt[0].x=3;
		flagpt[0].y=3;
		flagpt[1].x=4;
		flagpt[1].y=2;
		flagpt[2].x=6;
		flagpt[2].y=5;
		flagn = 3;
		babypoint.x = 6;
		babypoint.y = 2;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
	if(level == 20)
	{
		int themap[9][8] = {
		    	2,2,1,1,1,1,2,2,
				1,1,1,0,0,1,1,2,
				1,0,3,0,3,0,1,1,
				1,0,0,3,0,0,0,1,
				1,0,1,0,3,0,0,1,
				1,0,0,3,0,0,1,1,
				1,0,3,0,3,0,1,2,
				1,1,0,0,1,1,1,2,
				2,2,2,2,2,2,2,2,
		};
		flagpt[0].x=2;
		flagpt[0].y=5;
		flagpt[1].x=3;
		flagpt[1].y=2;
		flagpt[2].x=3;
		flagpt[2].y=4;
		flagpt[3].x=3;
		flagpt[3].y=6;
		flagpt[4].x=4;
		flagpt[4].y=3;
		flagpt[5].x=4;
		flagpt[5].y=5;
		flagpt[6].x=5;
		flagpt[6].y=4;
		flagn = 7;
		babypoint.x = 1;
		babypoint.y = 4;
		memcpy(map,themap,sizeof(themap));
		return TRUE;
	}
    return FALSE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -