?? eveluation2.h
字號(hào):
// Eveluation2.h: interface for the CEveluation2 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_EVELUATION2_H__F2599074_BF7E_45D6_985D_15DA4ADCFF43__INCLUDED_)
#define AFX_EVELUATION2_H__F2599074_BF7E_45D6_985D_15DA4ADCFF43__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "BasedEveluation.h"
//啟發(fā)式估價(jià)器2
class CEveluation2:public CBasedEveluation
{
public:
CEveluation2();
virtual ~CEveluation2();
public:
int Eveluate(BYTE byBoard[][3]);//啟發(fā)式函數(shù)2,估價(jià)H為H=TotalDist+3*SeqScore,其中totdist為8個(gè)
//碼離開它們的"家塊"的"總距離",其中的"距離"為曼哈頓距離,即兩
//個(gè)數(shù)碼塊在水平方向和垂直方向的距離之和,如下圖中的例子棋局
//的TotalDist=0+1+1+0+2+0+0+0=4(從上到下,從左到右的順序);
//SeqScore為"順序得分",是數(shù)碼在當(dāng)前位置上的順序同目標(biāo)布局所
//要求的順序相比的一種排序程度的度量.SeqScore按照下列規(guī)則來
//計(jì)算每個(gè)數(shù)碼得分的總和:1.數(shù)碼在中心得1分. 2.不處于中心的數(shù)
//碼在順時(shí)針方向被其正當(dāng)?shù)暮罄^所尾隨得0分. 3.這樣的數(shù)碼如果
//被不正當(dāng)?shù)暮罄^所尾隨得2分.如下圖中的例子中的
//SeqScore=2+0+2+2+0+0+0+0=6(按順時(shí)針方向)
//1 3 4 1 2 3
//8 2 8 4
//7 6 5(例子) 7 6 5(目標(biāo)棋局)
};
#endif // !defined(AFX_EVELUATION2_H__F2599074_BF7E_45D6_985D_15DA4ADCFF43__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -