| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3723 人关注过本帖, 1 人收藏
标题:编程下围棋,有兴趣的来试一试。
取消只看楼主 加入收藏
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
结帖率:93.33%
收藏(1)
已结贴  问题点数:20 回复次数:0 
编程下围棋,有兴趣的来试一试。
会编程会下围棋的,可以好好看下;
会编程不会下围棋的,可以参考http://www.
围棋的输赢是根据双方所占有的地方的多少而定的(多就赢,少就输)。下围棋双方还有时间上的限制。
在编程这里,跟围棋有关的知识,我们不用考虑那么多,不考虑输赢的多少,时间的限制。只考虑一个问题:棋盘上是否还有可以落子的地方。
但是下围棋的最基本的东西还是要的,那就是:
围棋通常由两个人进行对局,对局时一方执黑棋,另一方执白棋。
围棋应从空棋盘开始对局。
执黑棋的一方应先下子,执白棋的一方随后下子(也就是黑先白后)。
对局时,双方应该轮流在棋盘上下子,每方每次只能在棋盘上下一个子。
棋盘:围棋盘由19条横线19条竖线组成,共361个交叉点,最外边的线称为边线。
行棋规则:
1.棋子要下在棋盘的边线之内。
2.棋盘是由横线和竖线组成的,横竖相交的地方叫做交叉点,棋子只能落在交叉点上。
3.拿黑子的一方先行,双方交替落子。任何一方不可以连续下两手。
下棋时,还有一个问题要考虑。那就是打劫,不然这盘棋永远下不完,打劫参见 http://www.
围棋的知识,说完毕了,现在说说编程的事情:
围棋棋盘的建立可以用二维数组来建立,棋盘的大小为19行19列的一个二维数组,比如a[19][19],下棋前,为二位数组赋初值为a[19][19]=0.(0表示棋盘上是空的,1表示黑棋,2表示白棋)先下1,后下2,交替落子。随着1和2的不断落子,棋盘上的0就越来越少了,下到最后,就没处落子了。
当然,下棋时。要考虑“吃子”。吃子参见:http://www.
“吃子”作为围棋术语,也可称“提子”。在实战对局中,一方将另一方的一个或多个棋子紧紧包围,使其所有的气数被全部堵住(即其所有紧紧相邻的交叉点全部被占有),随后将无气的棋子从棋盘上拿掉,就叫“吃子”,比如白棋(2)吃黑棋(1)将一个或多个棋子紧紧包围,使其所有的气数(就是这里的0)被全部堵住,随后将无气的棋子从棋盘上拿掉,这时,棋盘上的1就减少了,0就增加了。0 的位置又可以落子了。就这样反复落子,直到最后结束对局。
现在有两个人对局。我们不用考虑对局结果,只看对局最后,无处落子时。最多共下了多少手棋,就是共落子多少次(m次)。编程就是计算这个m的值,m最多是多少??是10000.还是100000?
搜索更多相关主题的帖子: 编程 多少 棋盘 表示 全部 
2018-06-22 11:22
快速回复:编程下围棋,有兴趣的来试一试。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017929 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved