第二课:C语言在屏幕的任意位置输出字符,开发小游戏的第一步

198 阅读1分钟

1、头文件

Windows.h

2、头文件中函数的实现

SetConsoleCursorPosition(HANDLE hConsoleOutput, COORD  dwCursorPosition);
  1. hConsoleOutput获取
HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
  1. dwCursorPosition获取
//`dwCursorPosition`是光标位置,也就是第几行第几列,它是 COORD 类型的结构体。

//定义光标的位置
COORD coord;
coord.X = 3;
coord.Y = 3;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsole, coord);

3、代码实现

# include <stdio.h>
# include <Windows.h>

//设置光标位置
void setCursorPosition(int x, int y);

//设置文字颜色
void setColor(int color);



int main(){
	setColor(3);
	setCursorPosition(3, 3);
	puts("*");

	setColor(0xC);
	setCursorPosition(1, 1);
	puts("$");

	setColor(6);
	setCursorPosition(6, 6);
	puts("*");
	
	return 0;

}

void setCursorPosition(int x, int y) {
	//定义光标位置
	COORD coord;
	coord.X = x;
	coord.Y = y;

	//获取控制台缓冲区句柄
	HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
	//设置光标位置
	SetConsoleCursorPosition(ConsoleHandle, coord);
}

void setColor(int color) {
	//获取控制台缓冲区句柄
	HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);

	SetConsoleTextAttribute(ConsoleHandle, color);

}

4、运行展示

image.png