网站建设用什么系统,如何做公司网站,电影采集网站怎么做,如何申请网上商城五子棋#xff1a; 需要的数据#xff1a; 1、定义棋盘数组 2、定义变量用于记录棋子位置 3、定义角色变量 业务逻辑#xff1a; 是否需要对数据进行初始化 for(;; ) { 1、清理屏幕#xff0c;显示棋盘 2、落子 坐标要合法#xff0c;原位置不能有棋子 3、检查是否形成五子…五子棋 需要的数据 1、定义棋盘数组 2、定义变量用于记录棋子位置 3、定义角色变量 业务逻辑 是否需要对数据进行初始化 for(;; ) { 1、清理屏幕显示棋盘 2、落子 坐标要合法原位置不能有棋子 3、检查是否形成五子 4、切换角色 } 直接上源码
第一种移动光标输入坐标
#include stdio.h
#include stdlib.h
#include stdbool.h
#include getch.h// 棋盘
char board[15][15];
// 棋子坐标
char kx 7 , ky 7;
// 角色
char role ;// 显示棋盘
void show_board(void)
{system(clear);for(int i0; i15; i){for(int j0; j15; j){if(board[i][j]){printf( %c,board[i][j]);}else{printf( *);}}printf(\n);}
}
// 落子
void get_key(void)
{for(;;){printf(请%c输入棋子位置(x y):,role);scanf(%hhd%hhd,kx,ky);if(kx 0 kx15 ky0 ky15 !board[kx][ky]){board[kx][ky] role;return;}}
}
// 检查五子
bool check_board(void)
{int cnt 0;for(int yky-1; y0 board[kx][y]board[kx][ky]; y--) // 左{ cnt;}for(int yky1; y15 board[kx][y]board[kx][ky]; y) // 右{ cnt;}if(cnt 4) return true;cnt 0;for(int xkx-1; x0 board[x][ky]board[kx][ky]; x--) // 上{ cnt;}for(int xkx1; x15 board[x][ky]board[kx][ky]; x) // 下{ cnt;}if(cnt 4) return true;cnt 0;for(int xkx-1,yky-1; x0 y0 board[x][y]board[kx][ky]; x--,y--) // 左上{ cnt;}for(int xkx1,yky1; x15 y15 board[x][y]board[kx][ky]; x,y) // 右下{ cnt;}if(cnt 4) return true;cnt 0;for(int xkx-1,yky1; x0 y15 board[x][y]board[kx][ky]; x--,y) // 右上{ cnt;}for(int xkx1,yky-1; x15 y0 board[x][y]board[kx][ky]; x,y--) // 左下{ cnt;}if(cnt 4) return true;return false;
}
int main()
{for(;;){show_board();get_key();if(check_board()){show_board();printf(恭喜%c胜利,游戏结束!\n,role);return 0;}role role?#:;}}第二种移动光标按键
#include stdio.h
#include stdlib.h
#include stdbool.h
#include getch.h// 棋盘
char board[15][15];
// 棋子坐标
char kx 7 , ky 7;
// 角色
char role ;// 显示棋盘
void show_board(void)
{system(clear);for(int i0; i15; i){for(int j0; j15; j){if(board[i][j]){printf( %c,board[i][j]);}else{printf( *);}}printf(\n);}
}
// 落子
void get_key(void)
{printf( -----------请%c落子-----------\n,role);for(;;){printf(\33[%hhd;%hhdH,kx1,(ky1)*2);switch(getch()){case 183: kx0 kx--; break;case 184: kx14 kx; break;case 185: ky14 ky; break;case 186: ky0 ky--; break;case 10: if(!board[kx][ky]){board[kx][ky] role;return;}}}}int count_eqkey(int ox,int oy)
{int count 0;for(int xkxox,ykyoy; x0 x15 y0 y15 board[x][y]board[kx][ky]; xox,yoy){count;}return count;
}// 检查五子
bool check_board(void)
{if(count_eqkey(0,-1)count_eqkey(0,1) 4)return true;if(count_eqkey(-1,0)count_eqkey(1,0) 4)return true;if(count_eqkey(-1,-1)count_eqkey(1,1) 4)return true;if(count_eqkey(-1,1)count_eqkey(1,-1) 4)return true;return false;
}
int main()
{for(;;){show_board();get_key();if(check_board()){show_board();printf(恭喜%c胜利,游戏结束!\n,role);return 0;}role role?#:;}}欢迎小可爱评论区发布自己的简介~~ 欢迎互关关注~