什么是三子棋?
黑白棋的一种。棋盘为3*3大小,只要将自己的三个棋子走成一条线,对方就算输了。
如何实现三子棋?三子棋需要什么?
1.棋盘的建立和显示
三子棋的棋盘为3*3大小,通过建立3*3的二维数组,实现对棋子的位置存储。同时通过for循环对二位数组进行打印,实现棋盘的显示。游戏开始时,棋盘上所有的位置应该是空的,所以每次开始游戏时,程序应该对棋盘进行初始化,即将二维数组各个元素的内容设置为“ ”。在打印棋盘时,如果单纯的对数组内容进行打印,会发现打印出来的棋盘和棋子是挤在一起的,非常不直观,所以在打印棋盘时可以额外打印一些 “-” “|” 作为分隔棋盘的标识,代码及效果如下:
void Outputboard(char board[ROW][COL], int row, int col)//打印棋盘
{
int x = 0;
int y = 0;
for (x = 0; x < row; x++)
{
for (y = 0; y < col; y++)
{
printf(" %c ", board[x][y]);
if (y < ROW - 1)
printf("|");
}
printf("\n");
if (x < COL - 1)
printf("---|---|---\n");
}
}
void freshboard(char board[ROW][COL], int row, int col)//初始化棋盘
{
int x = 0;
int y = 0;
for (x = 0; x < row ; x++)
{
for (y = 0; y < col ; y++)
board[x][y] = ' ';
}
}
2.实现玩家和电脑的落子
落子可以简单的理解为将对应数组内的元素替换为代表玩家和电脑的符号,这里我们设置“#”代表电脑。“*”代表玩家。
要将棋子下在棋盘内,即将对应符号输入数组,需要满足三个条件:一、棋盘内有空位,