NCHU逸尘 2015-06-22 23:46 采纳率: 50%
浏览 1738
已采纳

关于五子棋棋盘更新问题

void renew(NODE chessboard[][17], int x, int y) // 更新棋盘指定位置的图像
{
HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE); // 得到标准输出的句柄
COORD coordScreen; // 系统提示符位置
CONSOLE_SCREEN_BUFFER_INFO csbi; // 屏幕信息

if (!GetConsoleScreenBufferInfo(hOutput, &csbi))   // 获取屏幕信息 
    return;   // 不成功则返回
coordScreen = csbi.dwCursorPosition;   // 获取系统提示符位置
gotoxy(y * 2, x);   // 将系统提示符移动到棋盘的(x,y)所在位置 
printnode(chessboard, x, y);   // 重新打印这一块
SetConsoleCursorPosition(hOutput, coordScreen);   // 系统提示符回复到原来位置

}
//gotoxy()
为什么是y* 2啊?,到底是怎么把系统提示符移动过去的呢,
前几步也不是很懂,有详细点的解释吗?

  • 写回答

1条回答 默认 最新

  • 知常曰明 2015-06-23 01:38
    关注
    • 不知道你程序的上下文。只能靠猜测。
    • 最大的可能是:棋子是ASCII字符,但是两个棋子中有一个分隔线,因此一个棋子+一个分隔线,因此是*2.
    • 另一个可能是:你的棋子是一个中文字符表示的,因此在Console的位置上占两个位
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办