五子棋算法:判断禁手

xsir317 2010-05-21 01:17:10
ForbiddenPointFinder.h

#if !defined(FORBIDDENPOINTFINDER_H_INCLUDED_)
#define FORBIDDENPOINTFINDER_H_INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ForbiddenPointFinder.h : header file
//

#include <afxwin.h>

#define BOARDSIZE 15
#define BLACKSTONE 'X'
#define WHITESTONE 'O'
#define EMPTYSTONE '.'
#define BLACKFIVE 0
#define WHITEFIVE 1
#define BLACKFORBIDDEN 2

class CForbiddenPointFinder
{
public:
int nForbiddenPoints;
CPoint ptForbidden[BOARDSIZE * BOARDSIZE];

private:
char cBoard[BOARDSIZE+2][BOARDSIZE+2];

public:
CForbiddenPointFinder();
virtual ~CForbiddenPointFinder();

void Clear();
int AddStone(int x, int y, char cStone);

private:
void SetStone(int x, int y, char cStone);
BOOL IsFive(int x, int y, int nColor);
BOOL IsOverline(int x, int y);
BOOL IsFive(int x, int y, int nColor, int nDir);
BOOL IsFour(int x, int y, int nColor, int nDir);
int IsOpenFour(int x, int y, int nColor, int nDir);
BOOL IsOpenThree(int x, int y, int nColor, int nDir );
BOOL IsDoubleFour(int x, int y);
BOOL IsDoubleThree(int x, int y);

void FindForbiddenPoints();
};

#endif // !defined(FORBIDDENPOINTFINDER_H_INCLUDED_)
...全文
1168 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
dugufengwu 2010-12-10
  • 打赏
  • 举报
回复

void CForbiddenPointFinder::FindForbiddenPoints()//对盘面上所有能落子的点,查看其是否是禁手点,并标注。
{
nForbiddenPoints = 0;
for (int i=0; i<BOARDSIZE; i++)
{
for (int j=0; j<BOARDSIZE; j++)
{
if (cBoard[i+1][j+1] != EMPTYSTONE)
continue;
else
{
if (IsOverline(i, j) || IsDoubleFour(i, j) || IsDoubleThree(i, j))
{
ptForbidden[nForbiddenPoints].x = i;
ptForbidden[nForbiddenPoints].y = j;
nForbiddenPoints++;
}
}
}
}
}


好吧,我只是试一下怎么发代码,看下效果。
xll906 2010-12-09
  • 打赏
  • 举报
回复
cpp(49) : fatal error C1083: Cannot open include file: 'ForbiddenPointFinder.h': No such file or directory
- 1 error(s), 0 warning(s)
sjhcsdn 2010-12-06
  • 打赏
  • 举报
回复
代码党,好烦 这么长代码 谁看得懂啊。。真是杯具

还优雅,叫我说,那叫吓人

判断个禁手 写这么长,那你写完个五子棋AI得多长了,

还有楼主晓得 现在五子棋 禁手规则吗? 禁黑,双3,433,长联,44 你都考虑了吗?

此爱天下无双 2010-12-05
  • 打赏
  • 举报
回复
楼主辛苦了,代码真的很beautiful
bobo98405208 2010-12-04
  • 打赏
  • 举报
回复
学习下!!!!!
longwin798 2010-12-04
  • 打赏
  • 举报
回复
全是代码,看不下去。。如果给的是算法或思路,或许会更好
do__i 2010-12-03
  • 打赏
  • 举报
回复
代码就是漂亮,我喜欢!!
figo1688 2010-12-02
  • 打赏
  • 举报
回复
比较强,学习学习
qq120848369 2010-12-01
  • 打赏
  • 举报
回复
此贴太坟了,竟然有我的回帖.
AAA20090987 2010-12-01
  • 打赏
  • 举报
回复
mark......
xsir317 2010-11-30
  • 打赏
  • 举报
回复
http://blog.renjustudio.com/?p=28

放在我自己的博客上了。。。

至于运行,其实现在的renlib等程序都是用这个的。。。
bhw98 2010-11-30
  • 打赏
  • 举报
回复
不错,看着挺舒服的
futuresj 2010-05-21
  • 打赏
  • 举报
回复
运行的了吗,谁试过吗??
qq120848369 2010-05-21
  • 打赏
  • 举报
回复
优雅!
toplinq 2010-05-21
  • 打赏
  • 举报
回复
代码就像书法,看得让人很舒服
zeroieme 2010-05-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xinzaiyiqi 的回复:]

晒代码?
[/Quote]
同问
xinzaiyiqi 2010-05-21
  • 打赏
  • 举报
回复
晒代码?
FrankArmageddon 2010-05-21
  • 打赏
  • 举报
回复
我喜欢,mark了~
pmars 2010-05-21
  • 打赏
  • 举报
回复
mark
superzbo 2010-05-21
  • 打赏
  • 举报
回复
晕……什么东西这么长啊
加载更多回复(4)

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧