void showmenu() {// 输出主菜单 textcolor(TEXTS); system("cls"); printf("1.人机对战\n"); printf("2.双人对战\n"); printf("3.退出\n"); printf("\n请选择[1-3]:"); }
void showsubmenu() {// 打印子菜单 textcolor(TEXTS); system("cls"); printf("1.你先手\n"); printf("2.电脑先手\n"); printf("3.返回上级菜单\n"); printf("\n请选择[1-3]:"); }
int getchoose(int min, int max) {// 获取选项 int choose; do{ choose=getch()-48; }while(choose<min || choose>max); //过滤不在min到max之间的字符 printf("%d",choose); //屏幕回显 return choose; }
//----------------------------------控制部分---------------------------------
bool quit; //是否按下了退出热键 bool regret; //是否按下了悔棋热键
bool getmove(NODE chessboard[][15]) {// 获取光标移动,并响应
// 当按下悔棋、下子、退出热键时,返回true char c; for(;;){ c=getch(); if(c==-32) switch(getch()){ case 72: // 上 cursor.x--; if(cursor.x<0) cursor.x=0; renew(chessboard,cursor.x+1,cursor.y);