我的五子棋项目
bobojing8841
这个作者很懒,什么都没留下…
展开
-
近期准备做一个五子棋游戏
由于前段时间一直为工作分心,好久没做像样的程序了。为了能在以后找工作的时候增加自己的竞争力,也为了打发这段无聊的时间,我一直准备做些有趣的程序。今天终于找到了一个目标--做一个五子棋游戏。我计划通过以下几步,逐步使这个程序成为一个实用的程序:1。做一个控制台的双人对战五子棋框架,通过输入棋的坐标下棋。在这步中主要解决的是如何判定一条直线上已经有5个子了。这个问题的算法也已经想好:比如判定横原创 2006-04-03 20:29:00 · 1753 阅读 · 0 评论 -
今天开始做五子棋游戏了
今天开始做五子棋游戏了。今天下午做了一个半小时,基本上第一阶段dos版的已经做好了,至少说一个demo已经完成了,已经可以通过输入坐标下棋并判定胜负。明天的任务是改善这个程序的健壮性,并尽快着手开发图形界面的五子棋游戏。原创 2006-04-10 22:12:00 · 962 阅读 · 0 评论 -
五子棋第二阶段的demo已经基本完成
五子棋第二阶段的demo已经基本完成,现在已经能使用图形界面下棋并判定胜负。不过就像第一阶段的demo一样,在健壮性、代码可读性及一些细节上还有待改进,另外还要补充一些功能,并美化界面。以前做的程序都是基于CDialog(对话框)的,这次基于一般的窗口,很多地方都不一样,无论如何,水平又有了进步。改进demo的工作要缓一缓了,明天开始着手做第三阶段的工作:添加联机对战功能。不过网络编程我还原创 2006-04-12 22:08:00 · 934 阅读 · 1 评论 -
五子棋第三阶段已经完成
第三阶段其实4月底就完成了,后来去南通,一直没有继续做。前两天回来之后做了一点小的修改:1。很多标志本来都是用若干bool值来标注的,为了节约内存提高效率(其实我也不知道这样做能不能节约内存提高效率,根本原因是觉得这样做cool),我取消了所有bool值,只用一个整形代替,每个标志占用一个二进制位。配合这个整形我又做了两个函数分别设置和读取特定的位。随后为了增加程序的可读性,我又写了一批内联函原创 2006-05-09 10:33:00 · 863 阅读 · 0 评论 -
今天下午完成了五子棋第四阶段的开发
前几天把工作定下来后,就想做点什么纪念一下,最终决定尽快完成五子棋游戏,并在五月底发布一个特别纪念版。所以昨天晚上开始构思第四阶段人机对战的算法,主要分析棋局的所有状况并分配权值。今天上午调整了五子棋类的内部代码,为添加人机对战模块做准备,然后下午忙了半天,人机对战基本完成了。虽然给秦钰苏看后,他说我不懂五子棋规则,没有禁手;给徐斌玩,他说计算机老是犯低级错误,但无论如何,ai模块大致做好了,计算原创 2006-05-17 22:52:00 · 1105 阅读 · 0 评论 -
如期完成五子棋1.0正式版
我奶奶前天顺利做完手术,我也就放心了。最近1个多礼拜来我几乎都没摸过电脑,今天白天没去医院,在家把五子棋赶完了。今天主要是调整了很多实现细节,使代码更加易读易懂。另一个重头是增加了禁手。后来闲着没事又写了注释。下午全部完成,就做了一个安装文件,发到校友录上去了。明天就要上班了,有点兴奋,又有点茫然。原创 2006-05-31 16:53:00 · 1002 阅读 · 1 评论 -
我的五子棋人工智能算法
近期完成了一个支持人机对战的五子棋游戏。虽然比较简单,而且对于常下五子棋的人来说,计算机的胜率往往低于50%,但无论如何,我对人工智能一块还是比较满意,所以发表出来,以期抛砖引玉,和大家共同探讨。对于五子棋游戏来说,人工智能的核心思想是:分析棋盘上所有的空白棋格,并找出最应该下在哪里(我认为所谓人工智能,就是将人的智能用计算机语言来描述而已。所以我的所有思想,均是从我自己的下棋经验中总结出来的原创 2006-06-27 15:09:00 · 21638 阅读 · 10 评论 -
机器人足球人工智能算法分析
前段时间做了个人机对战的五子棋游戏,觉得人工智能非常有意思。所以最近没事,又思考了一下机器人足球的人工智能算法。机器人足球和五子棋游戏的主要联系是:都需要随时分析整个棋盘/球场的状态,并作出最合适的反应;主要区别是:五子棋游戏是回合制的,而机器人足球是“即时”游戏,另外五子棋只要基于某一步棋子考虑,但机器人足球必须考虑23个人/球(棋子)。表面看区别蛮大的,现在具体来分析一下:1)关于原创 2006-06-29 14:00:00 · 4565 阅读 · 4 评论 -
初探vcIDE背后的秘密-为vc项目写makefile,实现自动独立编译
以前在vc下写程序,都是通过IDE写,写完按一下run就开始运行了,从来没有想过内部到底是如何工作,整个工程除了源代码还有十来个文件,也不知道是干吗的。这两天闲来无事探索了一把 。前段时间接触公司的嵌入式代码,发现都是用makefile进行自动编译,而且整个项目源文件、头文件、库文件、编译工具等分别放在诸如/src、/inc、/bin、/lib之类的目录中,井井有条,编译时只要make一下。最原创 2006-12-24 01:20:00 · 2895 阅读 · 1 评论