void* times(void *args){ HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO pt; GetConsoleScreenBufferInfo(hout,&pt); gotoxy(0,0); gotoxy(pt.dwCursorPosition.X,pt.dwCursorPosition.Y); while(1){ GetConsoleScreenBufferInfo(hout,&pt); gotoxy(0,0); printf("计时:%d",grade++); gotoxy(pt.dwCursorPosition.X,pt.dwCursorPosition.Y); if(game==1){ break; } Sleep(1000); } return 0; }加注释
时间: 2024-03-05 17:49:31 浏览: 117
下面是加了注释的代码:
```c++
void* times(void *args) {
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄
CONSOLE_SCREEN_BUFFER_INFO pt; // 定义控制台屏幕缓冲区信息结构体
GetConsoleScreenBufferInfo(hout,&pt); // 获取控制台屏幕缓冲区信息
gotoxy(0,0); // 将光标移动到屏幕左上角
gotoxy(pt.dwCursorPosition.X,pt.dwCursorPosition.Y); // 将光标移动回原来的位置
while(1){ // 循环
GetConsoleScreenBufferInfo(hout,&pt); // 获取控制台屏幕缓冲区信息
gotoxy(0,0); // 将光标移动到屏幕左上角
printf("计时:%d",grade++); // 输出计时器的数值
gotoxy(pt.dwCursorPosition.X,pt.dwCursorPosition.Y); // 将光标移动回原来的位置
if(game==1){ // 如果游戏结束
break; // 跳出循环
}
Sleep(1000); // 等待1秒
}
return 0; // 返回
}
```
解释如下:
- `HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE)`:获取标准输出设备的句柄,并将其赋值给 `hout` 句柄。
- `CONSOLE_SCREEN_BUFFER_INFO pt`:定义 `pt` 结构体,用于存储控制台屏幕缓冲区信息。
- `GetConsoleScreenBufferInfo(hout,&pt)`:获取控制台屏幕缓冲区信息,并将其存储在 `pt` 结构体中。
- `gotoxy(0,0)`:将光标移动到控制台屏幕的左上角。
- `gotoxy(pt.dwCursorPosition.X,pt.dwCursorPosition.Y)`:将光标移动回原来的位置。
- `while(1)`:无限循环。
- `GetConsoleScreenBufferInfo(hout,&pt)`:获取控制台屏幕缓冲区信息,并将其存储在 `pt` 结构体中。
- `gotoxy(0,0)`:将光标移动到控制台屏幕的左上角。
- `printf("计时:%d",grade++)`:输出计时器的数值,并将 `grade` 的值加 1。
- `gotoxy(pt.dwCursorPosition.X,pt.dwCursorPosition.Y)`:将光标移动回原来的位置。
- `if(game==1){break;}`:如果游戏结束,跳出循环。
- `Sleep(1000)`:等待 1 秒。
- `return 0`:函数结束并返回。
阅读全文