手机版

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

发布时间:2021-06-07   来源:未知    
字号:

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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)