我正在尝试用C构建游戏,该游戏将在puTTY上打印并由微控制器控制。因此基本上就是要打印东西,我有一个名为move_cursor的函数可以到达要打印的位置,然后使用PSTR进行打印。

//to move
void move_cursor(int x, int y) {
    printf_P(PSTR("\x1b[%d;%dH"), y, x);
}

//to print things
printf_P(PSTR("Score: "));


对于我来说,只在需要时打印“ Game Over”之类的东西就很简单,但是我意识到当我需要打印不断更新的内容(例如乐谱)时,要进行此操作比较困难。我试着使用printf,因为我有一个名为score的变量,可以将其包含在其中。但似乎它不适用于PSTR。如果我尝试在终端上打印一些经常更新的零件,该怎么办?

最佳答案

您可以使用以下方法替换左上角的文本:

#define gotoxy(x, y) printf("\033[%d;%dH", x, y)


以上主要功能。比使用:

gotoxy(0, 0);
printf("%d",/*Some number*/);


到左上角并打印分数。

关于c - 我可以在PSTR中使用printf吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58375275/

10-10 05:06