资源简介
移植到嵌入式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个文件信息
相关资源
- 嵌入式图形界面MiniGUI的示例程序9例
- 原创人机对战泡泡堂
- stm32实现的五子棋AI人机对战+人人对战
- MiniGUI移植到uCOS 移植全部源码
- ERP沙盘模拟人机对抗2.0带注册机
- unity3D网络五子棋
- unity网络五子棋源代码
- MiniGUI库文件之带TTF- libminigui-1.6.10-t
- minigui3.0.12全面使用使用ttf字库完美支
- MiniGUI编程指南-V3.0.pdf
- 基于minigui的聊天程序
- minigui综合
- eclipse 网络五子棋
- 仿QO游戏大厅之网络五子棋
- erp沙盘模拟经营人机对抗V1.1
- 安卓五子棋源码 可实现人机对战
- 毕业设计中国象棋人机对弈
- minigui1.6.10在mini2440上的移植
- HI3521A_HI3520DV300移植MiniGUI
- apicloud案例+五子棋+人机对战+人人对战
- MiniGUI-3.0.2-Evaluation-win32.zip
- 海思3531基于minigui3.0的会议系统界面设
- Visual Studio实现五子棋含人机对战
- 五子棋人机对战 图解 算法举例
- 基于MIniGUI的贪吃蛇小游戏
- 五子棋(含较高级的人机对战)
- MiniGUI 按键切换图片,背景图片,控件
- Qt编写的网络五子棋
- qt网络五子棋
- 毕业设计-网络五子棋的外文翻译
评论
共有 条评论