Silverlight围棋单机版演示及源码(原创)

本文介绍了一个基于Silverlight的围棋单机版项目,实现了核心的围棋算法如吃子、打劫、悔棋等,并提供了棋谱保存与复盘功能。源码已发布,计划后续分享关键算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    因为自己比较喜欢下围棋,而现在的对弈软件大都需要在客户端安装,所以一直都想用silverlight做个简易版的在线对弈系统。

于是这两天就先研究了一下单机版的围棋功能,主要是涉及到围棋对弈中的一些核心算法,比如吃子、打劫、悔棋、数目等。

经过一些探索与测试,这些算法也相继得到了实现,于是就形成了现在的单机版,除了对弈功能,还加上了棋谱保存与复盘功能。

这里先发布测试页面及源码,如果有问题再修正一下,准备在下一篇文章里介绍一下源码里面的关键算法。

 

源码下载地址: SilverlightWeiQi.rar

转载于:https://www.cnblogs.com/arbin98/archive/2010/11/14/1877053.html

电脑围棋门径 ——陈志行   1、显示棋盘棋子及其他必须显示的内容;设置黑白选择、进子及有关的功能。 2、设置计算和记录棋子串气数的功能,赋予提子和禁着的功能。 3、设计一种函数,表征每个棋子对周围的影响,用以划分势力范围,作为静态形式判断的基础。 4、对盘上各着点分别试进黑子和白子,比较进子前后的静态形势,以估算该点的进子价值,成为着点选择的基本依据。 5、用多步搜索法判断棋子串是否可以歼灭或逃出,并分别记为“死”、“活” 和“半死”。这种搜索还可以包括“双吃”(叫吃一串后歼灭另一串)的可能性。 6、规定开局时的一些大点及其价值,设置随机地选取等价大点的功能。开局大点可以纳入定式的范畴。 7、把棋子划分为块,考虑各块的眼位和出路以及块间的相邻关系,以估算各块的危险性(负目数),从而构成静态形势判断的完整体系。 8、建立棋形效率模式,指明愚形、忌形和急所,从而增建由静态形势判断所估算的进子价值。 9、估算棋子串被歼与逃出的静态形势 以估算歼逃价值。 10、设置定式库,规定定式中每步的价值;设置从定式库取数据来行棋的程序段。 11、设置大场、中盘侵分、收官等的数据库和程序段。 12、记录先手着点及其价值,以供寻劫、收官、做眼等参考。 13、设置利用以上各种数据按照适当方式选择着点的程序段。 14、设置在优势和劣势下采用不同策略的功能。 15、设置搜索广度和深度的选择功能使思考时间得以随时调整。 16、设置终局判断、PASS(弃权一手)及在对方PASS后如何处理的功能。 17、设置棋谱记录、计时、发声、显示形式对比、计算胜负等功能。 首先必需完成1、2部分。其次不妨先解决3、4,这样程序就算是会下棋了。不过,叫吃也不会逃,或者只会逃叫吃却不懂征子,也是不堪一击的。这样应解决5。第一步可以先解决二气问题、即三气就算已经逃出。 棋子分块以及眼位估计是获得战斗力的重要环节。这一功能解决后,棋力可望达到高手让不了30子的程度。然后设置行棋模式又是一个关键,解决后让25子恐怕也困难了。
Alex围棋游戏源码 研究目标、研究内容和拟解决的关键问题 经过对围棋对弈软件的分析,基本确定围棋对弈系统的研究目标为: 该系统功能包括:人机围棋对弈功能,局域网围棋对弈功能,局域网对弈时聊天功能,对弈中悔棋功能,求和功能及其他扩展功能等。 研究内容为: 1. 实现游戏模式选择功能:通过主界面,可以选择围棋游戏模式。有人机对弈,局域网对弈等选择。 2. 实现人机对弈中人工智能:在人机对弈中,电脑可以根据棋局判断下一步下子。 3. 实现局域网对弈功能:选择局域网对弈后,登陆服务器,可以选择游戏台号,与已经选择同台号的对手对弈。 4. 实现局域网对弈时的聊天功能:在局域网对弈中,可以与对手聊天,增加游戏的趣味性。 5. 实现对弈中游戏的附加功能:对弈时悔棋功能,求和功能,计时功能等。 6. 根据系统的需求,进行可行性分析,制作,构建合适系统。 7. 分析系统基本功能,根据系统的每个功能模块,分析各个模块的用户界面设计。 8. 研究实现主程序功能和其他功能。 研究的基本思路和方法、技术路线、实验方案及可行性分析 基本思路和方法: 1. 熟悉围棋各种规矩,了解系统需要实现的功能。 2. 根据系统需求,完善系统功能模块。 3. 人机对弈中电脑的人工智能对弈实现。 4. 对弈中悔棋功能的实现。 5. 局域网对弈的实现。 6. 局域网对弈的聊天功能实现。 7. 熟悉C#网络通信编程,熟悉相关类和函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值