tags: App, 开发随笔
已完成章节索引
用Swift写围棋App-00序
用Swift写围棋App-01准备工作
用Swift写围棋App-02建立工程
用Swift写围棋App-03StoryBoard
用Swift写围棋App-04棋盘
用Swift写围棋App-05初识棋谱
用Swift写围棋App-06解析器初版
用Swift写围棋App-07解析器改进
用Swift写围棋App-08绘制每一手棋
用Swift写围棋App-09分片算法
用Swift写围棋App-10气的算法
用Swift写围棋App-11算法改进
开发应用首先要了解其业务领域。
对于围棋而言,要先了解其基本规则。我将基本规则汇总如下:
- 围棋通常由两个人进行对局,对局时一方执黑棋,另一方执白棋。
- 围棋应从空棋盘开始对局。
- 在现代围棋对局中,执黑棋的一方应先下子,执白棋的一方随后下子。
- 围棋对局时,双方应该轮流在棋盘上下子,每方每次只能在棋盘上下一个子。
- 棋子下在棋盘上之后就再也不能移动,直至终局。所谓“落子无悔”。
- 终局计算胜负时,围得地多者胜。
打谱软件逻辑稍微简单,但是也会涉及以下的业务实体:
-
** 棋子**:棋子分为黑棋和白棋,黑子181个,白子180个。棋子呈圆形。中国一般使用一面平、一面凸的棋子,日本、韩国则常用两面凸的棋子。中国云南所产的“云子”为历来的弈者所青睐,迄今已有五百馀年的历史。较为珍贵的棋子材料有贝壳、玛瑙等。对弈时双方每人使用一种颜色。每一个棋子都是平等的,不存在大小之分。
-
棋盘:围棋盘由19条横线19条竖线组成,共361个交叉点,最外边的线称为边线。为了便于识别棋子的位置,棋盘上划了九个点,术语称做“星”,中央的星点又称为“天元”。棋盘可分为“角”、“边”以及“中腹”。现今的棋盘则有19×19、13×13、9×9,较为普遍,另外还有一些是较罕见的15×15、17×17。正式比赛所用棋盘为19×19,其他作为教学和练习辅助。
围棋行棋规则:
- 棋子要下在棋盘的边线之内(看19×19棋盘图),边线之外的棋子无效。
- 棋盘是由横线和竖线组成的,横竖相交的地方叫做交叉点,棋子只能落在交叉点上。
- 拿黑子的一方先行,双方交替落子。任何一方不可以连续下两手,否则判负。
先说这么多。对于打谱这个业务而言,可能差不过够了。
网友评论