从控制台中删除单个字符
Posted
技术标签:
【中文标题】从控制台中删除单个字符【英文标题】:Remove single character from console 【发布时间】:2015-12-12 06:30:58 【问题描述】:我正在尝试为 Windows 控制台制作一个蛇游戏,而无需在每次蛇移动时都使用“system(“cls”)”来重新绘制游戏板、食物和蛇。相反,我想添加一个头部并以一定的间隔移除尾部。我正在使用“cout”为新蛇头打印一个“@”,效果很好,但我不知道如何(或将其设为空白)并保留其余字符控制台的原样。有什么建议吗?
【问题讨论】:
请添加语言标签并说明您的解决方案的可移植性。 提到了cout
。所以我认为是c++
【参考方案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);
,然后在那里打印空间。
【讨论】:
以上是关于从控制台中删除单个字符的主要内容,如果未能解决你的问题,请参考以下文章