Silverlight围棋单机版源码介绍arbin98

Board类负责棋盘绘制工作,棋盘是正方形,横竖各19条线,再加上四周边界,所以线与线之间的间隔就是棋盘宽度除以20,

这个宽度也是棋子的直径,另外还要在棋盘上画九个小黑点,标示出星位,代码不再赘述。

再看棋子Stone类,它的主要属性是横纵坐标X、Y,都是[1,19]间的整数,还有手数Number,因为黑棋先下,所以黑棋的手数总是奇数,

而白棋的手数总是偶数,棋子的Color属性就是根据这个规则计算的。另外还有一个重要属性就是KilledStone,用来保存被该棋子吃掉的子,

这主要用在悔棋及复盘时的后退功能,因为当把一个已经下上去的棋子拿掉的话,也要相应的把它吃掉的子再放回棋盘,

另外在判断是否是打劫局面的时候也会用到该属性。Stone类里的主要方法就是Draw()和Die()了,用来绘制和移除棋子。

程序的主要控制类是WeiQi类,只有一个属性runningMode,是运行模式,包括对弈与复盘两种模式。主要职责是负责管理系统资源,

如棋盘、棋子列表、棋谱、行棋手数等,还要响应用户输入,其中最主要的就是鼠标单击事件,也就是用户在棋盘上落子。代码如下:

先判断运行模式,如果是复盘模式,则单击相当于点击下一步按钮。如果是对弈模式,则根据点击位置获得要下子的坐标,

如果该坐标无效或该位置已经有棋子则返回,否则生成新棋子加入棋子列表。如果这步棋是有效行棋,则会添加成功,从而要加入棋谱,

并在该棋子上绘制手数,否则说明是无效行棋,手数再回退一步。至于如何判断行棋有效性,会在下面StoneList里面讲到。

棋谱管理类是StoneRecord,所谓棋谱就是所有有效行棋的坐标列表,按行棋顺序排列,里面提供了前进与后退操作,复盘模式下会用到。

另外还提供了棋谱的打开与保存,采用的是silverlight文件操作功能,代码容易理解,不再赘述。

程序中最重要的类就是StoneList了,用来保存棋盘上当前局面下的棋子,所以关于行棋有效性、吃子、悔棋、数目等算法都是在这儿实现的。

先说行棋有效性。什么样的位置才可以落子呢?当然首先是这个位置不能有子,然而只是满足这个条件还不够。总结起来应该是这样的:

如果一个棋子下在棋盘上是有气的,那么它一定是有效的;否则的话要看它是否能吃掉其它子,如果可以提子,一般来说也是有效的,除了打劫的情况。

从这儿可以看出,要判断行棋是否有效,首先要判断棋盘上的一个棋子是否有气,这也是很多核心算法的基础。棋子是否有气,首先可以看它相邻的位置,

如果这些位置里面有空位,则这个棋子一定有气,否则要看和它相连的同颜色的棋子是否有气,所以算法应该是个递归处理,代码如下:

代码先判断棋子上下左右四个相邻位置是否为空,如果有空位则返回true,否则在四个方向上递归处理和它同颜色的棋子,只要一旦发现某棋子有气,

则说明该棋子也有气。需要注意的是在递归的过程中,不能重复处理一个棋子,否则会出现死循环,因为如果a和b相连,那么b也和a相连。

所以算法在递归过程中,同时保存了和这个棋子相连的棋子,一方面可以解决这个问题,另外如果一个棋子没气,那所有和它相连的子也没气,

提子时就需要一起提掉,实际上吃子算法就是利用了这一点。有了这个函数,行棋有效性和吃子就容易实现了,代码如下:

里面有两种情况会返回false,一是如果该棋子没气,又没有吃掉其它棋子;另外一种就是虽然吃掉了一个棋子,但这个棋子刚好是上一步下的,而且还吃掉了一个子,

显然这就是打劫的情况。至于吃子的算法,也容易理解了,代码如下:

就是在上下左右四个相邻位置上判断相反颜色的棋是否没有气,如果没气,那连同与这个棋子相连接的棋子也全都是死棋。所以在判断棋子是否有气的函数中,

顺便保存与这个棋子相连的棋子,避免了重复计算,是很有效率的处理方式。

最后再说一下数目算法。这里做了简化处理,假定用户已经把残子全部提掉,并收完了全部单官。这样的话,如果一个空点四周全是同颜色的棋,

那这个空点就算作该方的一目。当然这样处理比较简单,毕竟要判断残子的死活还是比较复杂的。代码如下:

THE END
1.少儿围棋软件哪个好用?少儿围棋软件单机版少儿围棋是现在非常火的一种兴趣练习,对于年纪较小的儿童来说,不断地通过一些好的学习方式来提升脑力法语以及智力发育等,是非常需要注意的,围棋是一门非常锻炼人的游戏,小编给大家推荐的这些少儿围棋软件游戏等都是非常不错的,可以适当的在空闲的时间来适当的进行训练,感兴趣的朋友可以来绿色资源网下载体验! 精彩http://www.downcc.com/k/shaoerweiqi/
2.五子棋单机版免费下载单机五子棋手机版下载可以离五子棋单机版是一款益智类的休闲桌游游戏,游戏规则就是在回合制的双方对决过程中,利用棋子的摆放位置达到横、竖、斜五子连珠,即可获胜!看似简单的玩法,实则要做到多方面考量才可以出奇制胜。本次小编给大家带来了可以离线玩的五子棋单机版游戏大全,如五https://www.ddooo.com/zt/wnwzq.htm
3.围棋游戏单机版下载围棋游戏单机版应用软件专题围棋游戏单机版拥有休闲游戏有30多款,主要以 棋牌类、休闲、竞猜类游戏为主。游戏可支持视频、语音等多媒体应用。游戏可支持游戏币、积分等多种计算方式,与游戏客户端配套的还具有,姻缘、商城、个性头像、江湖帮派、论坛以及完善的好友和站内聊天系统。http://www.onlinedown.net/zt/25315/
4.围棋单机版免费下载围棋单机版围棋对弈入门下载v5.2.003围棋单机版是一款以围棋玩法为主的休闲游戏。游戏中,玩家可以与AI进行单人对战,感受围棋的魅力,也可以通过网络对战寻找对手,开始一场在线比赛。在享受游戏乐趣的同时,玩家还可以感受中华五千年的传统文化。游戏界面简洁明了,操作简便易懂。玩家可以通过游戏来提高自己的围棋水平,也可以通过网络对战与其他玩家交流学习。 https://shouyou.3dmgame.com/android/364738.html
5.围棋单机app围棋单机版免费下载古色古香的棋盘,方显中国特色魅力,围棋单人练习由简到难,双人联网博弈,简洁的战国棋盘设计,黑白分明的棋子风格。复盘棋谱,随时开启,刷新战绩,滑动、点击两种新博围棋落子方式随意选,实力较量,联网博弈模式,真人匹配对战,高手过招。精选围棋挑战,华丽升级,由简入难,方寸指尖,旋风棋局,随时畅玩,围棋单机版联网无限制。https://m.pianwan.com/app/122823
6.围棋单机版纵横十九道,迷煞多少人人与电脑下围棋免费围棋单机版-纵横十九道,迷煞多少人 纵横十九道,迷煞多少人,源于中国古代的围棋,虽历经千年,至今仍令无数人为之疯狂。下面分享几个完全免费的,好玩的单机版围棋游戏软件: 1、思佳围棋:棋力5级左右 思佳围棋采用最新GNUGO 3.7.10智能引擎!是目前棋力最强、界面最漂亮的围棋对弈软件;https://blog.csdn.net/xawangxiangwei/article/details/8552052
7.围棋单机版围棋单机平台aiwan91游戏为玩家推荐围棋单机版,如果您也喜欢围棋这个游戏,那就赶紧分享给其它游戏玩家,一起来玩吧!http://www.aiwan91.com/s1433289/
8.欢乐围棋单机版APP下载安装2024最新正版手机免费下载使用介绍: 欢乐围棋单机版本,是专门为围棋爱好者开发的人机对战游戏!游戏的对战引擎达到人机对战的顶尖水平,具有极强的对弈水准。游戏在任意手机上都支持5路至19路棋盘,并充分考虑了触摸操作的便利性,同时还具有精美逼真的画面和动听的音效。在空闲时刻,打开手机,来上几盘围棋,既能娱乐,又能锻炼棋艺,何乐而不为!https://www.25pp.com/xiazai/2097389/
9.围棋游戏单机版哪个好?单机围棋游戏大全围棋单机游戏下载围棋游戏单机版哪个好?单机围棋游戏大全-围棋单机游戏下载 围棋单机游戏合集是由IT猫扑小编为大家整理的围棋游戏大全,围棋起源于中国,传为帝尧所作,春秋战国时期即有记载。隋唐时经朝鲜传入日本,流传到欧美各国。围棋蕴含着中华文化的丰富内涵,它是中国文化与文明的体现,棋盘复杂多变,是公认的世界上最复杂的棋盘游戏。https://www.itmop.com/key/danjiweiqiyx/
10.围棋游戏单机版有哪些围棋游戏单机版推荐围棋游戏单机版有很多,比如《秋水围棋》、《忘忧围棋》等。这些游戏都提供了丰富的围棋知识和技巧,让玩家可以在游戏中学习和提高自己的围棋水平。此外,这些游戏还提供了多种难度设置和挑战模式,让玩家可以根据自己的实力和需求来选择适合自己的对弈难度,从而更好地享受围棋的乐趣。https://down.ali213.net/heji/159.html
11.围棋游戏单机版围棋游戏下载推荐理由:围棋游戏单机版是一款专供围棋爱好者在电脑上休闲娱乐练手的围棋软件。玩家在游戏中可以根据自己的实力选择 下载 围棋西游记 13-10-2473.3M 中文版 推荐理由:围棋西游记是一款以西游记为背景的围棋游戏,适合围棋初学者来入门,没有那么庞大的地域,整个棋盘就相当于 https://www.fxxz.com/k/weiqiyx/
12.围棋指南(适用于正在学围棋的朋友)单机版(暂未上线)围棋指南单机版 单机版 软件大小:0 MB 软件语言:简体中文 更新时间:2024-08-04 授权:免费软件 适用平台:Win7,Vista,Win2003,WinXP 推荐度:6分 点击查看大图 软件介绍 围棋指南比较大的特点是具备学习功能,特别适用于正在学围棋的青少年朋友。当把您的围棋知识按照一定的方式全部传授给这个软件之后,智能围棋软件的https://www.xiazaiba.com/html/1265.html
13.围棋—单机版围棋入门围棋—单机版围棋入门 关注 1336 厂商 Wuhan Dobest Information Technology Co, Ltd. 游戏介绍 上次更新于2024/10/14 策略 简介围棋,一种策略性两人棋类游戏,中国古时称“弈”,属琴棋书画四艺之一。围棋起源于中国,蕴含着中华文化的丰富内涵,是中国文化与文明的体现。 现推出围棋游戏,让您在掌上领略中华五千年的https://taptap.com/app/64864
14.围棋(单机版)少儿编程社区Scratch作品创作者:KKO555。创作说明:自己学规则。请全屏下棋。本项目有下棋、取棋的功能。当棋子不够的时候,游戏自动结束。按空格键切换功。精彩作品不断、优秀创作者云集在此,欢迎进入晨煊社区!https://xs.cx-coding.com/projects/6642
15.单机版围棋游戏单机版围棋游戏下载单机绝艺围棋单机版好不好? 不好,绝艺围棋单机版不好,围棋还非常复杂的,单机版算法简单,单机游戏无法帮助锻炼提升棋艺水平,甚至越练越差,建议还是玩联机版。 大学生学围棋还可以吗? 可以 加油看书学吧,藤泽秀行围棋教室,聂卫平围棋道场这两套书都比较浅显易学书店有围棋入门,定式之类的书,网上也有很多棋书,然后可以用https://www.koreaps.cn/jiaoshi/8096.html
16.围棋pc单机版下载围棋pc单机版是备受关注的免费软件,它稳定且强大的功能得到了很多用户的认同。软件语言为简体中文,使用的时候更直观方便。围棋pc单机版最新版已经于2024年07月26日更新,这个新版本功能更加强大。最新版本优化了资源占用过多的情况,此软件的体积为78.79MB,更加便捷高效了。 围棋pc单机版的设计简洁,简单易上手,让用户https://www.180disk.com/soft/1076512.html
17.黑白棋—单机版黑白棋围棋小游戏黑白棋—单机版黑白棋围棋小游戏 ? Wuhan Dobest Information Technology Co, Ltd. 10 1个评价 来源于渠道 我的评价 获取源简介 黑白棋,又叫翻转棋。规则简单,上手容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。 双方轮流落棋子,只要在一条线上夹着对方棋子,https://www.16p.com/1900060.html
18.围棋西游记单机版围棋西游记中文绿色版下载电脑版围棋西游记中文绿色版是一款以西游为主非常好玩的围棋游戏。讲到围棋,小编也玩了好几年,各种玩法小编都尝试过了一遍,直到今天见到了围棋西游记,这是采用了西游记的人物制作的围棋游戏,玩家需要从观音菩萨、唐僧、孙悟空、猪八戒、沙悟净中选择一名进行游戏,每个章节都加入大量实战习题,并随程序赠送9路、13路人机对弈软件https://www.aiya8.com/pcsoft/game5065.html
19.围棋游戏下载手机版围棋单机版下载围棋围棋 最新手机围棋游戏可以让你通过手机来和电脑或是围棋爱好者在线下围棋,使用手机下围棋可以摆脱棋盘的束缚。手机围棋对弈软件一般都是围棋游戏或是围棋教学软件,手机围棋游戏种类比较的多,喜欢下围棋的你,赶快来下载围棋游戏吧,通过围棋游戏,让你的围棋技术得到提升。 点击查看更多 http://m.5577.com/key/weiqi/