跳棋程序如何开发?如何设计数据结构和算法 (100分)

S

seaso

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟最近想用vc开发一个跳棋程序,不知从何入手,望指教如何设计数据结构(棋盘,
玩家,计算机),用什么算法,最好能分别从计算机走子,棋盘分析,胜局判断讲讲
最好能有跳棋源程序
 
这里有VC编写的跳棋程序(含源码):
http://creativesoft.home.shangdu.net/resources1.htm
程序实现简介:
由于仓促写成,游戏的网络功能暂时没有,非常抱歉,下一版本一定补上。
跳子棋程序的实现不算太难,但却也有一点复杂。主要原因可能就是它的棋盘为一个不
规则的图形。
我的思路是:把棋盘121棋格分为7个区,中间为0区,上为1区,逆时针至右上角。
定义一个棋格的属性:
坐标。(根据棋盘图自己量一下,不会不知道用什么吧!)
棋格所属区域,即上面所提7个区。
棋格离各个端点几格,6维数组记录6方,电脑下子时可作为下子的优先级判断。
棋格上棋子的颜色0-6,0为无子。
棋格属于第几个棋格(从上至下,从左至右,1-122个棋格)
再定一个6维指针数组,指向当前棋格的6个方向的属性(逆时针,右上方为第0维至右
方第5维,此方无棋格指向NULL)。
再定义棋子的属性:
指向的棋格。
可走路径用数组集合动态保存。
棋子的状态,选择与否。
上面具体的实现请看date.h文件。
接下来做的就是定义122个棋格实例(0格为空)和6方每方10个棋子的实例,初始好它们如
无错,就成功一半了。
确定好程序数据结构,以下就好办多了,但也不可大意,指针乱指可就不好玩了^-^。
至于围绕这些数据如何去操作,只要理解它的数据结构参照一下程序应不难。
如有疑问请E-mail yangjun_vc@china.com

至于人工智能算法,可以参考一下五子棋的算法(私下以为跳棋比五子棋容易很多:p)。
 
老大,上面贴的那个程序不是我写的,我可没有现成的算法呀。很抱歉,我不想再涉猎棋
类程序的AI了。

ps:
如果我没记错,china.com的免费邮箱两年前就已经改成 mail.china.com了,你可以试一
试 yangjun_vc@mail.china.com , Good Luck!
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
797
DelphiTeacher的专栏
D
S
回复
0
查看
974
SUNSTONE的Delphi笔记
S
顶部