资源简介
移植到嵌入式arm平台(包含人机对弈功能)、大二时的课程设计,不太完善。不过基本功能都已实现。
代码片段和文件信息
#include “main.h“
#define Mfive 100000
#define Hfour 10000
#define Sfour 4000
#define Dfour 0
#define Hthree 5000
#define Sthree 3000
#define Dthree 0
#define Htwo 2000
#define Stwo 1200
#define Hone 1000
#define Sone 200
// int Map[16][16];
int Max[2]kmax;
void compute(int sint f)
{
if(s>=5)
max+=Mfive;
else if(s==4)
{
if(f==2) //活四
max+=Hfour;
else if(f==1) //单四
max+=Sfour;
}
else if(s==3)
{
if(f==2) //活三
max+=Hthree;
else if(f==1) //单三
max+=Sthree;
}
else if(s==2)
{
if(f==2) //活二
max+=Htwo;
else if(f==1) //单二
max+=Stwo;
}
else if(s==1)
{
if(f==2) //活一
max+=Hone;
else if(f==1) //单一
max+=Sone;
}
}
int ai(HWND hWnd)
{
int f;
int isax[3]ay[3];
int bmaxwmaxbtmp[2]wtmp[2];
//memset(Map0sizeof(Map));
// Map[8][7]=1;Map[8][9]=1;Map[8][8]=1;Map[9][7]=1;Map[6][7]=1;Map[5][7]=1;
// freopen(“d:/aiout.txt““w“stdout);
bmax=wmax=0;
for(k=1;k<=2;k++)
for(ax[k]=0;ax[k]<=15;ax[k]++)
for(ay[k]=0;ay[k]<=15;ay[k]++)
{
if(Map[ax[k]][ay[k]]!=0)
continue;
//x 轴判断
max=0;
s=1;f=0;
for(i=1;i<5;i++)
{
if(Map[ax[k]][ay[k]-i]==k && ay[k]-i >= 0)
s++;
else
{
if(Map[ax[k]][ay[k]-i]==0&&ay[k]-i>=0)
f++;
break;
}
}
for(i=1;i<5;i++)
{
if(Map[ax[k]][ay[k]+i]==k && ay[k]+i <= 15)
s++;
else
{
if(Map[ax[k]][ay[k]+i]==0&&ay[k]+i <= 15)
f++;
break;
}
}
compute(sf);
#ifdef _debug
printf(“max:%d s:%d f:%d\n“maxsf);
#endif
//y轴判断
s=1;f=0;
for(i=1;i<5;i++)
{
if(Map[ax[k]-i][ay[k]]==k && ax[k]-i >= 0)
s++;
else
{
if(Map[ax[k]-i][ay[k]]==0&& ax[k]-i >= 0)
f++;
break;
}
}
for(i=1;i<5;i++)
{
if(Map[ax[k]+i][ay[k]]==k && ax[k]+i <= 15)
s++;
else
{
if(Map[ax[k]+i][ay[k]]==0 && ax[k]+i <= 15)
f++;
break;
}
}
compute(sf);
#ifdef _debug
printf(“max:%d s:%d f:%d\n“maxsf);
#endif
//左上右下判断
s=1;f=0;
for(i=1;i<5;i++)
{
if(Map[ax[k]-i][ay[k]-i]==k && ax[k]-i >= 0 && ay[k]-i >=0)
s++;
else
{
if(Map[ax[k]-i][ay[k]-i]==0&& ax[k]-i >= 0 && ay[k]-i >=0)
f++;
break;
}
}
for(i=1;i<5;i++)
{
if(Map[ax[k]+i][ay[k]+i]==k && ax[k]+i <= 15 && ay[k]+i <= 15)
s++;
else
{
if(Map[ax[k]+i][ay[k]+i]==0&& ax[k]+i <= 15 && ay[k]+i <= 15)
f++;
break;
}
}
compute(sf);
#ifdef _debug
printf(“max:%d s:%d f:%d\n“maxsf);
#endif
//右上左下判断
s=1;f=0;
for(i=1;i<5;i++)
{
if(Map[ax[k]-i][ay[k]+i]==k && ax[k]-i >= 0 && ay[k]+i <= 15)
s++;
else
{
if(Map[ax[k]-i][ay[k]+i]==0&& ax[k]-i >= 0 && ay[k]+i <= 15)
f++;
break;
}
}
for(i=1;i<5;i++)
{
if(Map[ax[k]+i][ay[k]-i]==k && ax[k]+i <= 15 && ay[k]-i >= 0)
s++;
else
{
if(Map[ax[k]+i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3748 2012-12-26 08:25 12.27\client\ai.c
文件 4356 2012-12-27 08:41 12.27\client\ai.o
文件 5680 2012-11-16 18:29 12.27\client\blackstone.bmp
文件 164925 2012-11-16 18:29 12.27\client\chessboard.gif
文件 548 2012-11-22 22:21 12.27\client\client.c
文件 199 2012-11-20 19:46 12.27\client\client.h
文件 1304 2012-12-27 08:41 12.27\client\client.o
文件 1274 2012-11-16 18:29 12.27\client\Judge.c
文件 1984 2012-12-27 08:40 12.27\client\Judge.o
文件 762 2012-12-26 08:25 12.27\client\main.h
文件 471 2012-11-20 15:10 12.27\client\mainbak.h
文件 342 2012-12-27 08:40 12.27\client\Makefile
文件 937 2012-12-27 08:39 12.27\client\qi.c
文件 2436 2012-12-27 08:41 12.27\client\qi.o
文件 5680 2012-11-16 18:29 12.27\client\whitestone.bmp
文件 25369 2012-12-27 08:41 12.27\client\wuziqi
文件 6279 2012-12-27 08:39 12.27\client\wuziqi.c
文件 6672 2012-12-27 08:41 12.27\client\wuziqi.o
文件 724 2012-11-22 21:34 12.27\client\bak\main.h
文件 6066 2012-11-22 22:19 12.27\client\bak\wuziqi.c
文件 5680 2012-11-16 18:29 12.27\server\blackstone.bmp
文件 164925 2012-11-16 18:29 12.27\server\chessboard.gif
文件 1267 2012-12-27 15:52 12.27\server\Judge.c
文件 3316 2012-12-27 16:23 12.27\server\Judge.o
文件 382 2012-12-27 16:23 12.27\server\Makefile
文件 1006 2012-12-27 09:46 12.27\server\qi.c
文件 419 2012-11-20 15:42 12.27\server\server.h
文件 714 2012-11-20 19:16 12.27\server\server1.c
文件 5680 2012-11-16 18:29 12.27\server\whitestone.bmp
文件 5719 2012-12-27 09:44 12.27\server\wuziqi.c
............此处省略15个文件信息
评论
共有 条评论