ncurses.h 不在 c 中输出颜色变化

ncurses.h not outputting color change in c

我试图让我的游戏中的文本在我的玩家选择 "play" 时消失。为此,我想到了将文本的颜色值慢慢更改为黑色。下面,我选择了我的代码中涉及更改颜色值的部分。当你 运行 程序时,它不会输出任何东西。我相信这与在 init_color() 函数中使用变量 'i' 有关。任何帮助将不胜感激

#include <ncurses.h>
#include <unistd.h>

#define SLOW_ROLL usleep(200000)
#define BORDER_INSIDE_Y 40

int main()
{

  int i, row, col;
  initscr(); // Begin ncurses
  cbreak();
  keypad(stdscr, TRUE);
  curs_set(0);
  noecho();
  getmaxyx(stdscr, row, col);
  start_color();
  init_pair(1, COLOR_RED, COLOR_BLACK);
  for(i = 1000; i < 0; --i)
  {
    init_color(COLOR_RED, i, 0, 0);
    attron(COLOR_PAIR(1));
    mvprintw((row / 2) - (BORDER_INSIDE_Y / 2) + 10, (col / 2) - 11, "Welcome to The Game");
    attroff(COLOR_PAIR(1));
    SLOW_ROLL; // usleep function for about .2 seconds
    refresh();
  }

  return 0;
}

for 循环不会 运行。 for(i = 1000; i < 0; --i) 没有意义,您可能是想使用 > 而不是 <

此外,对于将 运行 1000 次的 for 循环来说,0.2 秒太慢了。在 0.2 秒,你的循环需要 200 秒才能完成。