五子棋游戏
数据分析:
1、定义15*15的二维数组,作为棋盘 char ' * ' ' @ ' ' $ '
2、定义记录落子位置的变量
3、定义一个棋子角色变量 char role = '@'
业务逻辑分析:
1、定义15*15的二维数组,作为棋盘 char ' * ' ' @ ' ' $ ' 2、定义记录落子位置的变量 3、定义一个棋子角色变量 char role = '@' // 初始化棋盘 void init_board(void); // 显示棋盘 void show_board(void); // 落子 如果位置非法,需继续重新落子,直到成功后才能返回 void get_key(void); // 判断五子连珠 bool is_win(void); int main() { for(;;) { 1、清理屏幕、显示棋盘 2、落子 3、判断是否五子连珠 是:提示+结束程序 4、交换角色 } }
要求:每个功能实现函数来调用
如何通过方向键控制光标:
#include <stdio.h> #include <getch.h> #include <stdlib.h> int main(int argc,const char* argv[]) { system("clear"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); printf(" * * * * * * * * * *\n"); int x = 5, y = 5; for(;;) { printf("\33[%d;%dH",x,y*2); switch(getch()) { case 183: x--; break; case 184: x++; break; case 186: y--; break; case 185: y++; break; case 10: //回车 } } }