【问题标题】:Remove single character from console从控制台中删除单个字符
【发布时间】:2015-12-12 06:30:58
【问题描述】:
我正在尝试为 Windows 控制台制作一个蛇游戏,而无需在每次蛇移动时都使用“system(“cls”)”来重新绘制游戏板、食物和蛇。相反,我想添加一个头部并以一定的间隔移除尾部。我正在使用“cout”为新蛇头打印一个“@”,效果很好,但我不知道如何从控制台中删除单个字符(或将其设为空白)并保留其余字符控制台的原样。有什么建议吗?
【问题讨论】:
标签:
c++
windows
console
char
【解决方案1】:
添加以下功能
#include "windows.h"
void gotoxy(int x, int y)
{
HANDLE hConsoleOutput;
COORD dwCursorPosition;
cout.flush();
dwCursorPosition.X = x;
dwCursorPosition.Y = y;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition);
}
您需要做的就是使用gotoxy(your_snake_tail_x,your_snake_tail_y);,然后在那里打印空间。