資源簡介
如題,用了一個較好理解的算法,不過智能還不錯,對于人工智能入門的人學習是很有幫助的。在wintc下編譯通過。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include
#include?
#include?
#include?
#define?MouseStatusMouseOn??1
#define?LButtonclick??1
#define?BackColor?BLACK
#define?LineColor?LIGHTGRAY
#define?CorcurColor?LIGHTRED
#define?BlackChess?1
#define?WhiteChess?2
#define?OffSetX?40
#define?OffSetY?20
#define?Max(ab)?(a>=b?a:b)
/*===========================全局變量定義============================*/
int?arrowMouseDraw[16][10]=
{
/*設計鼠標的形狀其中1:表示鼠標的邊界2:表示鼠標邊界所包圍的區域3:表示鼠標以外的區域*/
????{1133333333}
????{1213333333}
????{1221333333}
????{1222133333}
????{1222213333}
????{1222221333}
????{1222222133}
????{1222222213}
????{1222222221}
????{1222222133}
????{1222221333}
????{1213122133}
????{1133122133}
????{3333312213}
????{3333312213}
????{3333331123}
};
unsigned?int?size;
int?MouseX=0MouseY=0;????????/*存放鼠標的水平方向的值*/
int?OldCorcur_x=0OldCorcur_y=0;
int?NewCorcur_x=0NewCorcur_y=0;
int?arrowMousePixSave[16][10];
int?AllPoint[15][15];
double?Mark[12];
double?MaxMark=20000000000000000;
void?*BlackBlock;
void?*WhiteBlock;
void?*CorcurBlock[9];
void?*BufBlock[9];
void?*BlackCorcur;
void?*WhiteCorcur;
/*=========================函數定義===============================*/
void?MouseOn(int?int?);
void?SetMouseHori(int?int?);
void?SetMouseVert(int?int?);
void?MouseOff(int?int?);
void?SetMouseXY(int?int?);
void?GetMouseXY();
void?initgr(void?);
void?InitBlock();
void?DrawMap();
void?DrawChess(int?int?int);
void?DrawCorcur(int?int?int?);
void?DrawBuf(int?int?int?);
void?GetCorcur(int?int?);
void?End(int?);
void?Begin();
int?CheckWin(int?int?int);
int??IsInChessboard(int?int?);
double?GetStatus(int?int?int?);
void?GetMaxScore(int?*int?*int?double?*);
void?GetBestPoint(int?*int?*int);
void?ShowST(int?int?int);
int?Choose();
/*======================================主函數實現=========================================*/
void?main()
{
????int?MouseMSGMchoose;
????int?OldMouse_x=100OldMouse_y=100mouseMsg;
????int?MouseFlag=0CorcurFlag=0TimeFlag=1gap=0;
????int?ChessNow=BlackChessFind_x=1Find_y=1;
????char?buf[4];
????int?nStepBlack=0nStepWhite=0nTimebaseBlacknTimebaseWhite;
????choose=Choose();
????initgr();
????InitBlock();
????Begin();
????GetMouseXY();
????DrawMap();
????ShowST(0time(0)BlackChess);
????ShowST(0time(0)WhiteChess);
????if(choose==1)
????{
????????AllPoint[7][7]=WhiteChess;
????????DrawChess(77WhiteChess);
????}
????nTimebaseBlack=time(0);
????nTimebaseWhite=time(0);
????gap=time(0);
????while(!kbhit())????/*主循環,鼠標移動也在循環中*/
????{
????????GetMouseXY();
????????GetCorcur(MouseX+12MouseY+5);
????????if(OldMouse_x!=MouseX?||?OldMouse_y!=MouseY)????/*在棋盤中使用光標,而不是鼠標*/
????????{
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?-rw-r--r--?????16677??1992-02-18?03:00??BGI\TRIP.CHR
?-rw-r--r--??????5554??1992-02-18?03:00??BGI\EGAVGA.BGI
?-rw-r--r--?????24122??2010-10-31?00:08??wuziqi.c
?drwxr-xr-x?????????0??2006-01-02?11:48??BGI
-----------?---------??----------?-----??----
????????????????46353????????????????????4
- 上一篇:c++局域網聊天室軟件
- 下一篇:音樂播放器mfc.doc
評論
共有 條評論