这一节作为将这一系列课程真正的开始!当然我们肯定不是要创建什么 HelloWord 的啦。
象棋游戏在 AppStore 中的游戏主要分类是什么 — Board 类!Board 是棋类游戏的主要关注点。这一节开始,我们将以上一节创建的项目 chessroad 为基础,使用 Canvas 绘制的我们的棋盘 Board。
本节目标
为了适应各种各样的屏幕,我们绘制棋盘没有使用图片资源,全部使用 Canvas 绘图方式完成。我们将要绘制的棋盘是这样的:
棋盘绘制亦然包含许多的细节,为了让一节的篇幅不至于太长,我们这一节的绘制工作只包含棋盘,不包含棋子!
中国象棋棋盘
在开始棋盘绘制之前,我们要了解一下中国象棋的棋盘。棋盘有一基本特性,这些特性在我们绘图时将体现到:
- 棋盘由 10 条横线、9 条纵线组成,棋子放在纵横线交叉的点位上;
- 棋盘中间有一条「河界」,部分纵线是没有贯通「河界」的(有的象棋软件中线没有贯通);
- 棋盘上下两侧的九宫(「将」可以移动的范围)从左上角到右下角、以及从右上角到左下角有斜线,作为「仕」移动的引导线。
- 两边的「炮」和「兵/卒」初始位置处有位置指示标志;
- 棋盘的上下两侧有指示纵线(象棋术语中叫「路数」)的数字。
- 代表红方的「路数」用中文数字「一」到「九」表示;
- 代表黑方的路数用阿拉伯数字「1」到「9」表示;
- 对于两方棋手来说,象棋的「路数」是从右边数超的,