NCHU逸尘 2015-06-22 23:46 采纳率: 33.3%
浏览 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 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。