【问题标题】:Remove single character from console从控制台中删除单个字符
【发布时间】:2015-12-12 06:30:58
【问题描述】:

我正在尝试为 Windows 控制台制作一个蛇游戏,而无需在每次蛇移动时都使用“system(“cls”)”来重新绘制游戏板、食物和蛇。相反,我想添加一个头部并以一定的间隔移除尾部。我正在使用“cout”为新蛇头打印一个“@”,效果很好,但我不知道如何从控制台中删除单个字符(或将其设为空白)并保留其余字符控制台的原样。有什么建议吗?

【问题讨论】:

  • 请添加语言标签并说明您的解决方案的可移植性。
  • 提到了cout。所以我认为是c++

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2010-12-02
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多