用fltk库编写的五子棋代码,内含简单的ai,有界面,实现了多种功能,无禁手
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-07-14 15:57 五子棋代码
目录 0 2012-07-14 15:57 五子棋代码Debug
文件 821248 2012-07-14 15:56 五子棋代码Debugexercise7---1-1.exe
文件 1754852 2012-07-14 15:56 五子棋代码Debugexercise7---1-1.ilk
文件 3107840 2012-07-14 15:56 五子棋代码Debugexercise7---1-1.pdb
目录 0 2012-07-14 15:57 五子棋代码exercise7---1-1
目录 0 2012-07-14 15:57 五子棋代码exercise7---1-1Debug
文件 149684 2012-07-14 15:56 五子棋代码exercise7---1-1DebugCL.read.1.tlog
文件 3894 2012-07-14 15:56 五子棋代码exercise7---1-1DebugCL.write.1.tlog
文件 154609 2012-07-14 15:56 五子棋代码exercise7---1-1Debugai.obj
文件 148898 2012-07-14 15:20 五子棋代码exercise7---1-1Debugoard1.obj
文件 354814 2012-07-14 15:20 五子棋代码exercise7---1-1Debugutton.obj
文件 3658 2012-07-14 15:56 五子棋代码exercise7---1-1Debugcl.command.1.tlog
文件 3247 2012-07-14 13:22 五子棋代码exercise7---1-1Debugexercise7---1-1.Build.CppClean.log
文件 381 2012-07-14 15:56 五子棋代码exercise7---1-1Debugexercise7---1-1.exe.intermediate.manifest
文件 95 2012-07-14 15:56 五子棋代码exercise7---1-1Debugexercise7---1-1.lastbuildstate
文件 29706 2012-07-14 15:56 五子棋代码exercise7---1-1Debugexercise7---1-1.log
文件 100914 2012-07-14 15:20 五子棋代码exercise7---1-1Debuggame_window.obj
文件 2522 2012-07-14 15:56 五子棋代码exercise7---1-1Debuglink.command.1.tlog
文件 5530 2012-07-14 15:56 五子棋代码exercise7---1-1Debuglink.read.1.tlog
文件 1742 2012-07-14 15:56 五子棋代码exercise7---1-1Debuglink.write.1.tlog
文件 70772 2012-07-14 15:20 五子棋代码exercise7---1-1Debugmain.obj
文件 632 2012-07-14 15:56 五子棋代码exercise7---1-1Debugmt.command.1.tlog
文件 808 2012-07-14 15:56 五子棋代码exercise7---1-1Debugmt.read.1.tlog
文件 436 2012-07-14 15:56 五子棋代码exercise7---1-1Debugmt.write.1.tlog
文件 1117184 2012-07-14 15:56 五子棋代码exercise7---1-1Debugvc100.idb
文件 757760 2012-07-14 15:56 五子棋代码exercise7---1-1Debugvc100.pdb
文件 137216 2012-07-10 23:20 五子棋代码exercise7---1-1Fmod.dll
文件 43611 2012-07-10 23:18 五子棋代码exercise7---1-1Fmod.h
文件 155352 2012-07-10 23:20 五子棋代码exercise7---1-1Fmodvc.lib
文件 19595 2012-07-14 15:56 五子棋代码exercise7---1-1ai.cpp
............此处省略26个文件信息
#ifndef AI_H
#define AI_H
/*评分规则:
*代表玩家方的棋子及棋盘边线,+代表空位,o代表Ai的棋子
+ o + 1 分 单子
+ o o + 10 分 双连
+ o o o * 5 分 冲三
+ o o o + 50 分 活三
+ o o o o * 2000分 冲四
+ o o o o + 500分 活四
o o o o o 5000分 五子连珠
如果对玩家棋子进行评分,则o和*交换,分数取负即可。
*/
#include“board1.h“
#include“game_window.h“
extern game_window *win;//外部定义
void board::black_ai()//黑棋的ai
{
if( win->someone_win==1)//若已经分出胜负或者棋盘上已经有人下过子则不能落子
{ cout<<“wrong
“;
return ;}
int a_qipan[N][N]={
{000000000000000}
{011111111111110}
{012222222222210}
{012333333333210}
{012344444443210}
{012345555543210}
{012345666543210}
{012345676543210}
{012345666543210}
{012345555543210}
{012344444443210}
{012333333333210}
{012222222222210}
{011111111111110}
{000000000000000}};//初始化
for(int i=0;i {
for(int j=0;j {//1的情况
if( win->qipan[i][j-1]==1 || win->qipan[i][j+1]==1 ||
win->qipan[i-1][j]==1 || win->qipan[i+1][j]==1 ||
win->qipan[i-1][j-1]==1 || win->qipan[i+1][j+1]==0 ||
win->qipan[i-1][j+1]==1 || win->qipan[i+1][j-1]==1 )
a_qipan[i][j]+=1;
//2的情况
if(win->qipan[i-2][j]==1 && win->qipan[i-1][j]==1)
a_qipan[i][j]+=5;
if(win->qipan[i+2][j]==1 && win->qipan[i+1][j]==1)
a_qipan[i][j]+=5;
if(win->qipan[i][j-2]==1 && win->qipan[i][j-1]==1)
a_qipan[i][j]+=5;
if(win->qipan[i][j+2]==1 && win->qipan[i][j+1]==1)
a_qipan[i][j]+=5;
if(win->qipan[i+2][j+2]==1 && win->qipan[i+1][j+1]==1)
a_qipan[i][j]+=5;
if(win->qipan[i-2][j+2]==1 && win->qipan[i-1][j+1]==1)
a_qipan[i][j]+=5;
if(win->qipan[i+2][j-2]==1 && win->qipan[i+1][j-1]==1)
a_qipan[i][j]+=5;
if(win->qipan[i-2][j-2]==1 && win->qipan[i-1][j-1]==1)
a_qipan[i][j]+=5;
if(win->qipan[i+1][j-1]==1 && win->qipan[i-1][j+1]==1)
a_qipan[i][j]+=10;
if(win->qipan[i+1][j]==1 && win->qipan[i-1][j]==1)
a_qipan[i][j]+=10;
if(win->qipan[i][j-1]==1 && win->qipan[i][j+1]==1)
a_qipan[i][j]+=10;
if(win->qipan[i+1][j+1]==1 && win->qipan[i-1][j-1]==1)
a_qipan[i][j]+=10;
//3
if(win->qipan[i][j+3]==1 && win->qipan[i][j+2]==1 && win->qipan[i][j+1]==1 )
a_qipan[i][j]+=100;
if(win->qipan[i][j-3]==1 && win->qipan[i][j-2]==1 && win->qipan[i][j-1]==1 )
a_qipan[i][j]+=100;
if(win->qipan[i-3][j]==1 && win->qipan[i-2][j]==1 && win->qipan[i-1][j]==1 )
a_qipan[i][j]+=100;
if(win->qipan[i+3][j]==1 && win->qipan[i+2][j]==1 && win->qipan[i+1][j]==1 )
a_qipan[i][j]+=100;
if(win->qipan[i+3][j+3]==1 && win->qipan[i+2][j+2]==1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-07-14 15:57 五子棋代码
目录 0 2012-07-14 15:57 五子棋代码Debug
文件 821248 2012-07-14 15:56 五子棋代码Debugexercise7---1-1.exe
文件 1754852 2012-07-14 15:56 五子棋代码Debugexercise7---1-1.ilk
文件 3107840 2012-07-14 15:56 五子棋代码Debugexercise7---1-1.pdb
目录 0 2012-07-14 15:57 五子棋代码exercise7---1-1
目录 0 2012-07-14 15:57 五子棋代码exercise7---1-1Debug
文件 149684 2012-07-14 15:56 五子棋代码exercise7---1-1DebugCL.read.1.tlog
文件 3894 2012-07-14 15:56 五子棋代码exercise7---1-1DebugCL.write.1.tlog
文件 154609 2012-07-14 15:56 五子棋代码exercise7---1-1Debugai.obj
文件 148898 2012-07-14 15:20 五子棋代码exercise7---1-1Debugoard1.obj
文件 354814 2012-07-14 15:20 五子棋代码exercise7---1-1Debugutton.obj
文件 3658 2012-07-14 15:56 五子棋代码exercise7---1-1Debugcl.command.1.tlog
文件 3247 2012-07-14 13:22 五子棋代码exercise7---1-1Debugexercise7---1-1.Build.CppClean.log
文件 381 2012-07-14 15:56 五子棋代码exercise7---1-1Debugexercise7---1-1.exe.intermediate.manifest
文件 95 2012-07-14 15:56 五子棋代码exercise7---1-1Debugexercise7---1-1.lastbuildstate
文件 29706 2012-07-14 15:56 五子棋代码exercise7---1-1Debugexercise7---1-1.log
文件 100914 2012-07-14 15:20 五子棋代码exercise7---1-1Debuggame_window.obj
文件 2522 2012-07-14 15:56 五子棋代码exercise7---1-1Debugli
文件 5530 2012-07-14 15:56 五子棋代码exercise7---1-1Debugli
文件 1742 2012-07-14 15:56 五子棋代码exercise7---1-1Debugli
文件 70772 2012-07-14 15:20 五子棋代码exercise7---1-1Debugmain.obj
文件 632 2012-07-14 15:56 五子棋代码exercise7---1-1Debugmt.command.1.tlog
文件 808 2012-07-14 15:56 五子棋代码exercise7---1-1Debugmt.read.1.tlog
文件 436 2012-07-14 15:56 五子棋代码exercise7---1-1Debugmt.write.1.tlog
文件 1117184 2012-07-14 15:56 五子棋代码exercise7---1-1Debugvc100.idb
文件 757760 2012-07-14 15:56 五子棋代码exercise7---1-1Debugvc100.pdb
文件 137216 2012-07-10 23:20 五子棋代码exercise7---1-1Fmod.dll
文件 43611 2012-07-10 23:18 五子棋代码exercise7---1-1Fmod.h
文件 155352 2012-07-10 23:20 五子棋代码exercise7---1-1Fmodvc.lib
文件 19595 2012-07-14 15:56 五子棋代码exercise7---1-1ai.cpp
............此处省略26个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)