求代码
查看原帖
求代码
1379842
kabuleshen1314520楼主2024/8/8 10:36

描述

五子棋是有个简单而有趣的益智棋类游戏,游戏的方式非常简单,一张纸,一支笔就能进行。

五子棋的游戏规则是,两个在棋盘上轮流落子。我们用“O”(大写的字母o)表示白子,“*”(星号)表示黑子。只要白子或黑子在横竖斜任意一条直线上连成5个,就胜利了。

请你写一个程序,模拟五子棋的游戏数据。给出落子的位置,画出对应的对战过程。

游戏规定一定是黑子先落子。

【位置说明】

两个数分别表示第几行第几列

比如下面的图片里,白子的位置就是4 1,黑子的位置是3 2

样例 注意:要求画棋盘的时候,写出行列标号。

【棋盘格式说明】

1、每个字符占用一个英文空格的距离,为了对齐,棋盘的每一列占3个空格。这样,遇到超过10的行号和列号,依然可以实现有间隔的对齐。

1 2、注意列标号的前面,是要给行标号空三个空格的。 1 输入 第一行输入两个数,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.?_?”。

2024/8/8 10:36
加载中...