自己理解的:
在做小游戏贪吃蛇的时候,发现蛇的移动可以用清屏函数这个牛*的函数轻松完成,但是贪吃蛇用清屏函数做出的游戏,游戏的体验感极差,因为用清屏函数贪吃蛇的每走一步,图面就必须从新在打一遍,等到蛇越来越大,走的越来越快的时候,那屏幕刷新的,无法直视。所以根本不能使用清屏函数来解决蛇的移动。
所以,就去查,才发现有个更牛*的光标函数,这个光标函数,是封装好的,可以直接用,但在要加上#include<windows.h>这个头文件,光标函数就是电脑屏幕上的那个光标的函数,它让整个屏幕都变成一个用数组组成的一个座标系,可以直接传给光标函数的参数,根据函数接受的实参,光标函数可以直接把光标移动到实参的座标的上,比清屏函数,效率大大提升,直接让蛇的移动从连环画进化的低级动画片(就是只用两种颜色的简单的贪吃蛇)。
代码:(代码的注释是自己加的,自己翻译的可能有点不对。)
/*** 光标定位 ***/
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//保持句柄 =获取std句柄(标准输出句柄)
COORD coord; // windows的一个结构体
void locate(int x,int y) //初始化座标
{
coord.X=y;
coord.Y=x;
SetConsoleCursorPosition(hout,coord); //设置控制台光标的位置
};
/*** 隐藏光标 ***/
void hide()
{
CONSOLE_CURSOR_INFO cursor_info={1,0}; //游标游标信息游标信息
SetConsoleCursorInfo(hout, &cursor_info); // 设置控制台光标信息
}
by朱夏彤