?? eveluation2.cpp
字號:
// Eveluation2.cpp: implementation of the CEveluation2 class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "eightnum.h"
#include "Eveluation2.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CEveluation2::CEveluation2()
{
}
CEveluation2::~CEveluation2()
{
}
int CEveluation2::Eveluate(BYTE byBoard[][3])
{
int iScore=0;
int iTotalDist=0;
int iSeqScore=0;
int i,j;
//計算totdist
for(i=0;i<3;i++)
for(j=0;j<3;j++)
switch(byBoard[i][j])
{
case 0:
iScore+=abs(i-1)+abs(j-1);
break;
case 1:
iScore+=i+j;
break;
case 2:
iScore+=i+abs(j-1);
break;
case 3:
iScore+=i+abs(j-2);
break;
case 4:
iScore+=abs(i-1)+abs(j-2);
break;
case 5:
iScore+=abs(i-2)+abs(j-2);
break;
case 6:
iScore+=abs(i-2)+abs(j-1);
break;
case 7:
iScore+=abs(i-2)+j;
break;
case 8:
iScore+=abs(i-1)+j;
break;
}
//計算seq
if(byBoard[0][0]!=8)
{
if(byBoard[0][1]-byBoard[0][0]!=1)
iScore+=2;
}
else
if(byBoard[0][1]-byBoard[0][0]!=-7)
iScore+=2;
if(byBoard[0][1]!=8)
{
if(byBoard[0][2]-byBoard[0][1]!=1)
iScore+=2;
}
else
if(byBoard[0][2]-byBoard[0][1]!=-7)
iScore+=2;
if(byBoard[0][2]!=8)
{
if(byBoard[1][2]-byBoard[0][2]!=1)
iScore+=2;
}
else
if(byBoard[1][2]-byBoard[0][2]!=-7)
iScore+=2;
if(byBoard[1][2]!=8)
{
if(byBoard[2][2]-byBoard[1][2]!=1)
iScore+=2;
}
else
if(byBoard[2][2]-byBoard[1][2]!=-7)
iScore+=2;
if(byBoard[2][2]!=8)
{
if(byBoard[1][2]-byBoard[2][2]!=1)
iScore+=2;
}
else
if(byBoard[1][2]-byBoard[2][2]!=-7)
iScore+=2;
if(byBoard[1][2]!=8)
{
if(byBoard[0][2]-byBoard[1][2]!=1)
iScore+=2;
}
else
if(byBoard[0][2]-byBoard[1][2]!=-7)
iScore+=2;
if(byBoard[0][2]!=8)
{
if(byBoard[0][1]-byBoard[0][2]!=1)
iScore+=2;
}
else
if(byBoard[0][1]-byBoard[0][2]!=-7)
iScore+=2;
if(byBoard[0][1]!=8)
{
if(byBoard[0][0]-byBoard[0][1]!=1)
iScore+=2;
}
else
if(byBoard[0][0]-byBoard[0][1]!=-7)
iScore+=2;
return iScore;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -