描述
五子棋是有个简单而有趣的益智棋类游戏,游戏的方式非常简单,一张纸,一支笔就能进行。
五子棋的游戏规则是,两个在棋盘上轮流落子。我们用“O”(大写的字母o)表示白子,“*”(星号)表示黑子。只要白子或黑子在横竖斜任意一条直线上连成5个,就胜利了。
请你写一个程序,模拟五子棋的游戏数据。给出落子的位置,画出对应的对战过程。
游戏规定一定是黑子先落子。
【位置说明】
两个数分别表示第几行第几列
比如下面的图片里,白子的位置就是4 1,黑子的位置是3 2
注意:要求画棋盘的时候,写出行列标号。
【棋盘格式说明】
1、每个字符占用一个英文空格的距离,为了对齐,棋盘的每一列占3个空格。这样,遇到超过10的行号和列号,依然可以实现有间隔的对齐。
2、注意列标号的前面,是要给行标号空三个空格的。
输入
第一行输入两个数,n和m,n表示棋盘的大小(5<=n<=15),m表示有多少个落子数据
接下来有m行,每行两个数表示落子的行和列。
【注意1】数据有可能重复:
比如轮到白子落子时,想要落子到第5行第2列,但是这个位置有棋子,就提示:"There is a piece at (5,2),please input O again."(不含引号)
再比如轮到黑子落子时,想要落子到第7行第6列,但是这个位置有棋子,就提示:"There is a piece at (7,6),please input * again."(不含引号)
【注意2】数据有可能超出棋盘:
遇到超出的情况,提示:“Out of range,please input O/* again.”黑子显示“*”,白子显示“O”。
(数据保证有20%的数据不存在上面的两种异常情况)
输出 输出落子过程中出现的提示
落子结束后的棋盘。
如果在落子过程中出现了胜负,那么后面的数据可以都不用管,直接输出棋盘。
最后输出输赢是谁。黑子赢输出“Black Win!”,白子赢输出“White Win!”,如果没有胜负则输出“No Win.?_?”。