📄 horseposition.cpp
字号:
// HorsePosition.cpp: implementation of the CHorsePosition class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "WIN马踏棋盘.h"
#include "HorsePosition.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHorsePosition::CHorsePosition()
{
}
CHorsePosition::~CHorsePosition()
{
}
void CHorsePosition::SetAbutPosition()//设置相邻节点
{
m_AbutPosition[1].m_x=m_CurrptrPosition.m_x-1; //北偏左
m_AbutPosition[1].m_y=m_CurrptrPosition.m_y+2;
m_AbutPosition[1].GetMinDistance(); //得到最靠边的距离
m_AbutPosition[2].m_x=m_CurrptrPosition.m_x-2;//西偏上
m_AbutPosition[2].m_y=m_CurrptrPosition.m_y+1;
m_AbutPosition[2].GetMinDistance();
m_AbutPosition[3].m_x=m_CurrptrPosition.m_x-2;//西偏下
m_AbutPosition[3].m_y=m_CurrptrPosition.m_y-1;
m_AbutPosition[3].GetMinDistance(); //得到最靠边的距离
m_AbutPosition[4].m_x=m_CurrptrPosition.m_x-1;//南偏左
m_AbutPosition[4].m_y=m_CurrptrPosition.m_y-2;
m_AbutPosition[4].GetMinDistance(); //得到最靠边的距离
m_AbutPosition[5].m_x=m_CurrptrPosition.m_x+1;//南偏右
m_AbutPosition[5].m_y=m_CurrptrPosition.m_y-2;
m_AbutPosition[5].GetMinDistance(); //得到最靠边的距离
m_AbutPosition[6].m_x=m_CurrptrPosition.m_x+2;//东偏下
m_AbutPosition[6].m_y=m_CurrptrPosition.m_y-1;
m_AbutPosition[6].GetMinDistance(); //得到最靠边的距离
m_AbutPosition[7].m_x=m_CurrptrPosition.m_x+2;//东偏上
m_AbutPosition[7].m_y=m_CurrptrPosition.m_y+1;
m_AbutPosition[7].GetMinDistance(); //得到最靠边的距离
m_AbutPosition[8].m_x=m_CurrptrPosition.m_x+1;//北偏右
m_AbutPosition[8].m_y=m_CurrptrPosition.m_y+2;
m_AbutPosition[8].GetMinDistance(); //得到最靠边的距离
//根据靠边的距离进行排列
for(int i=1;i<=8;i++)
for(int j=i+1;j<=8;j++)
{
if(m_AbutPosition[i].m_MinDistance>m_AbutPosition[j].m_MinDistance)
{
//交换
int t=0;
t=m_AbutPosition[i].m_MinDistance;
m_AbutPosition[i].m_MinDistance=m_AbutPosition[j].m_MinDistance;//交换最短距离
m_AbutPosition[j].m_MinDistance=t;
t=m_AbutPosition[i].m_x; //交换x坐标
m_AbutPosition[i].m_x=m_AbutPosition[j].m_x;
m_AbutPosition[j].m_x=t;
t=m_AbutPosition[i].m_y; //交换y坐标
m_AbutPosition[i].m_y=m_AbutPosition[j].m_y;
m_AbutPosition[j].m_y=t;
}//结束交换
}//结束比较
//结束排列
}//结束设置相邻节点
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -