加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
move.c 905 Bytes
一键复制 编辑 原始数据 按行查看 历史
Jeebus 提交于 2021-01-20 12:12 . First Commit
/**
* @file move.c
* @brief 下棋文件
* @details 玩家在棋盘上下棋
*/
#include "move.h"
/**
* @brief 玩家下棋
* @param[in] state 棋盘二级指针
* @param[out] *x_row 落子的行坐标指针
* @param[out] *y_column 落子的列坐标指针
* @param[in] order 下棋方
* @retval 无
*/
void playermove(CHESSSTATE **state, char *x_row, char *y_column, CHESSSTATE order){
char x, y;
printf("玩家%d-%s走,如H行A列,则输入HA:", order, order==black ? "黑方" : "白方");
while (1) {
fflush(stdin);
scanf("%c%c", x_row, y_column);
*x_row -= 'A';
*y_column -= 'A';
if(*x_row >=0 && *x_row <= ROW-1 && *y_column >= 0 && *y_column <= COLUMN-1){
if (state[*x_row][*y_column]) {
printf("该位置已经有棋子了,请下别的位置:");
continue;
}
else{
state[*x_row][*y_column] = order;
break;
}
}
else{
printf("非法输入,请重新输入:");
continue;
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化