C语言,光标移动问题
这是五子棋的一部分代码//将光标移动到指定位置voidgotoxy(intx,inty,HANDLEhOutput){COORDcoordScreen={0,0};coo...
这是五子棋的一部分代码
// 将光标移动到指定位置
void gotoxy(int x, int y,HANDLE hOutput)
{
COORD coordScreen={0,0};
coordScreen.X=x;
coordScreen.Y=y;
SetConsoleCursorPosition( hOutput, coordScreen );//API中定位光标位置的函数
}
// 更新棋盘指定位置的图像——打印气质棋盘上的一个点
void renew(int x, int y,HANDLE hOutput,point cursor)
{
COORD coordScreen;// 系统提示符位置
CONSOLE_SCREEN_BUFFER_INFO c;// 窗口缓冲区信息
if( !GetConsoleScreenBufferInfo( hOutput, &c ))// 获取屏幕信息 //获取控制台窗口信息
return;// 不成功则返回
coordScreen=c.dwCursorPosition;//获取系统提示符位置
gotoxy( 2*y+2 , x+1, hOutput);//将系统提示符移动到棋盘的(x,y)所在位置-------?
printnode(x,y, hOutput, cursor);//重新打印这一块
SetConsoleCursorPosition(hOutput, coordScreen );
}
带问号的那一句不懂。为什么,是2*y+2,x+1 展开
// 将光标移动到指定位置
void gotoxy(int x, int y,HANDLE hOutput)
{
COORD coordScreen={0,0};
coordScreen.X=x;
coordScreen.Y=y;
SetConsoleCursorPosition( hOutput, coordScreen );//API中定位光标位置的函数
}
// 更新棋盘指定位置的图像——打印气质棋盘上的一个点
void renew(int x, int y,HANDLE hOutput,point cursor)
{
COORD coordScreen;// 系统提示符位置
CONSOLE_SCREEN_BUFFER_INFO c;// 窗口缓冲区信息
if( !GetConsoleScreenBufferInfo( hOutput, &c ))// 获取屏幕信息 //获取控制台窗口信息
return;// 不成功则返回
coordScreen=c.dwCursorPosition;//获取系统提示符位置
gotoxy( 2*y+2 , x+1, hOutput);//将系统提示符移动到棋盘的(x,y)所在位置-------?
printnode(x,y, hOutput, cursor);//重新打印这一块
SetConsoleCursorPosition(hOutput, coordScreen );
}
带问号的那一句不懂。为什么,是2*y+2,x+1 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询