微看书

字:
关灯 护眼
微看书 > 我在仙侠世界搞开发 > 第27章 围棋

第27章 围棋 (第2/2页)

围棋的棋盘,盘面有纵横各十九条等距离、垂直交叉的平行线(19x19),共构成361个交叉点。

盘面上标有九个小圆点,称为“星位”,中央的星位又称“天元”。

使用的棋子分黑白两色,可称为黑子、白子,棋子的数量以黑白子各180个为宜。

围棋的下法,是双方各执一色棋子,黑子先行,交互落子,每次只许落一子。棋子需落在棋盘的点上。

围棋讲究气,一个棋子在棋盘上,与它直线紧邻的空点就是这个棋子的气。

棋子直线紧邻的点上,如果有同色棋子存在,则他们便连成一个整体。

如果所有的气均为对方所占据,便呈无气状态。无气状态的棋子不能在棋盘上存在。

把无气之子提出盘外的手段叫提子,落子后,对方棋子无气,应立即提取。

落子后,若该子会立即成为无气状态,又不能提取对方棋子时,则应禁止落下,为禁着点。

围棋的计算胜负(按数子规则),先将双方死子全部清理出盘外,然后对一方的活棋(包括活棋围住的点)以子为单位进行计数,最终子多者胜出。

其中为了抵消黑方先手的优势,黑方需要进行贴子,需贴出三又四分之三子。简言之,黑方至少185点数以上方为获胜,反之白方胜。

有口诀如下:

棋之盘,方十九,三百六十一叉点。

黑白子,黑先走,黑胜要过一八五。

交叉口,气相连,气尽棋亡最自然。

遇打劫,停一手,防止全局形再现。

......

对于张应郗来说,他的任务就是把这些规则转换成程序语言展现出来。

他需要用代码画出棋盘,用二位数组存储棋盘位置,然后画棋子,对点位的三种状态定义枚举常量,即空位、黑子、白子。

再使用适配器模式监听用户的触屏事件,对于落子的触屏实现方式,他想到两种实现思路。

一种方式是触屏单击落子,屏幕下方再准备一个确认按钮,用户点位上单击落子后,点确认按钮落子无悔。

另一种方式是触屏双击落子,用户在屏幕的点位上单击落子,再单击其他位置,可以改变落子,只有双击才会真正落子,落子无悔。

他本想把两种方式都做出来,到时候让用户自己选择落子方式,但本着最小化开发原则,还是直接设置死了落子原则,直接采用触屏双击落子方式。

按照执黑先行,轮流落子规则,让程序判定当前触屏的棋手和落子状态。比如用户甲落子后,屏幕提示用户乙操作。

这里面数判断棋子的气较为繁琐,不仅要判断单个棋子的气,还要计算相连己方棋子的气,对已经计算过棋子的位置也需要记录,这样后面避免重复计算。

对于一些禁着点,也需要进行判断,不能让棋子落在里面。

界面的话,中间一个棋盘,下方布置几个按钮,有“开始”、“悔棋”、“过一手”、“认输”、“提子”,“结束”。

最上面是文字显示位,显示当前轮到棋手。当终局时,文字显示获胜方和获胜子数。

围棋比赛里使用的计时器,张应郗暂时也放弃了,反正是元老们私下对弈,又不是比赛,弄个计时器没什么意义。

张应郗将业务规则、用户界面、交互方式和关键逻辑实现方法,整理记录在文档上,心中对整个围棋项目实施大致有数了。

打开专用的魔网程序开发软件,他开始进行真正的开发。

魔网开发语言的理念和原理,和蓝星确实相似,大多数情况张应郗都可以运用自己在蓝星的开发经验,写出对应代码。

遇到一些魔网独有的函数方法或语法,也可以在系统整理的魔网开发大全资料中检索。

这次开发可以说是宗门高层对他的一次面试,面试的结果决定他今后在宗门内的地位。

张应郗写的废寝忘食,每次都需要野猪无牙过来拱他提醒,他才能想到吃饭的事。

用了2天时间,张应郗做出了一个初版围棋程序。

他摸着自己头发,唏嘘道:“你们辛苦了,一定要坚持住啊!”

系统见张应郗初版弄出来了,提起了一丝兴趣,停下当前对功法的解析。

“小伙子,干的不错嘛,居然自己做出来了,哥送你一次免费测试怎么样!”

不等张应郗同意,系统直接扫过整个围棋程序,没到半分钟,系统就挑出了十多个bUG,嘿嘿地笑。

“技术尚需琢磨,要加强学习啊,自己去修复吧。”

而且,系统还额外送了一个传道受业任务给张应郗。

场景转换。

张应郗成为铁功宗的一个产品经理。

现在宗门要生产一种新产品,使用现有的生产条件。

现可供生产的产品有甲、乙、丙、丁四种类型。因缺少相关资料背景,对新产品的市场需求只能估计为大、中、小三种状态,在不同市场需求条件下,新产品的收益值如下所示:

产品....需求量大....需求量中....需求量小

甲.........800............320............-250

乙.........600............300............-200

丙.........300............150................50

丁.........400............250..............100

系统:你接下来的任务,是采用“后悔值”方法,算出应生产哪种产品?

张应郗惊呼,好家伙,系统开始出带表格的题了!

『加入书签,方便阅读』