《面向对象程序设计》(6)

时间:2025-04-20

else printf("┼"); // 交叉点 } } else if(chessboard[x][y].color==0){ // 如果是白棋 if (x==cursor.x && y==cursor.y) textcolor(SELECTEDWHITE); // 被选中的白棋 else textcolor(WHITECHESS); // 未被选中的白棋 printf("●"); } // 打印棋子 else{ if (x==cursor.x && y==cursor.y) textcolor(SELECTEDBLACK); // 被选中的黑子 else textcolor(BLACKCHESS); // 未被选中的黑子 printf("●"); } // 打印棋子 }

void printchessboard(NODE chessboard[][15]) {// 输出整个棋盘 int i,j; char letter[]={"ABCDEFGHIJKLMNO\n"}; for(i=0;i<15;i++){ // 行 textcolor(TEXTS); // 改为文本颜色 printf("%2d",15-i); // 打印行坐标 for(j=0;j<15;j++) // 列 printnode(chessboard,i,j); // 打印棋盘的每一块 textcolor(TEXTS); printf("\n"); } textcolor(TEXTS); //改为文本颜色 printf(" %s",letter); //打印列坐标 printf("移动:方向键 下棋:ENTER 悔棋:U 退出:F12"); }

void renew(NODE chessboard[][15], int x, int y) {// 更新棋盘指定位置的图像 COORD coordScreen; // 系统提示符位置 CONSOLE_SCREEN_BUFFER_INFO csbi; // 屏幕信息 if(x<0 || x>14 || y<0 || y>14) return; // 如果不在棋盘上直接返回 if( !GetConsoleScreenBufferInfo( hOutput, &csbi )) // 获取屏幕信息 return; // 不成功则返回 coordScreen=csbi.dwCursorPosition; // 获取系统提示符位置 gotoxy((y-1)*2+4,x+1); // 将系统提示符移动到棋盘的(x,y)所在位置 printnode(chessboard,x,y); // 重新打印这一块 SetConsoleCursorPosition( hOutput, coordScreen );// 系统提示符回复到原来位置 }

《面向对象程序设计》(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219