从控制台

时间:2015-12-12 06:30:59

标签: c++ windows console char clear

我正在尝试为Windows控制台制作一个蛇游戏,而不需要使用“系统(”cls“)”每次蛇移动时重绘游戏板,食物和蛇。相反,我想添加一个头,并以一定的间隔删除尾巴。我正在使用“cout”为新的蛇头打印一个'@'并且工作正常,但我不知道如何从控制台中移除单个字符(或只是将其留空)并保留其余部分控制台的原样。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

添加以下功能

#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);然后在那里打印空间。