我正在为终端开发一个简单的 pong 克隆,需要一种方法来延迟“框架”的打印。
我有一个二维数组
screen[ROWS][COLUMNS]
还有一个打印屏幕的函数
void printScreen() {
int i = 0;
int j;
while(i < ROWS) {
j = 0;
while(j < COLUMNS) {
printf("%c", screen[i][j]);
j++;
}
i++;
}
}
好像我做的时候
printScreen();
usleep(1000000);
printScreen();
它将休眠
在 printScreen()
期间执行。
任何在终端上制作此类动画的技巧都将不胜感激。也许我做的完全错了。 ASCII 电影是如何完成的 like this ?
编辑 我要使用 ncurses。谢谢两位的建议。
在 Ubuntu 上 sudo aptitude install libncurses5-dev
并使用 -lncurses
编译。
最佳答案
Ascii 电影是用 aalib 完成的,它的工作方式类似于图形显示驱动程序。大多数开发完整的控制台应用程序和游戏的人都使用 curses 框架或类似 ncurses 的版本。走那条路的一个真正限制是你必须想要完整的 ptty(你不能参与其中)。
关于c - linux 终端动画 - 延迟打印 'frame' 的最佳方式(在 C 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076380/