ncurses新手 - 从GNU C开始

dea*_*eau 7 c animation gcc ncurses

一个更简单的生活

我回到C,帮助重振我的编程盘.我最后一次学习编程是在大学和MSDOS上的Turbo C一起工作.一旦我发现Borland友好的<conio.h>包括在内,简单的ASCII动画就成了一种痴迷.很多乐趣gotoxytextcolor功能有关,不久之后我就开始编写像蛇和乒乓球这样的游戏.学习一门语言是一种非常有益的方式,每一场比赛都让我更加雄心勃勃.

ncurses的

我想从类似的游戏类型项目开始.今天虽然,我正在一个带有尘土飞扬的linux机器的Mac上.我可以在dosbox(一个无处不在的平台)中启动我心爱的Turbo C,但我想学习C,这样我就可以在任何BSD或unix平台上开发自然编译的东西.我被告知ncurses是前进的方向,但GNU网站已基本消失了.回到那一天,我有了友好的textmode功能,而且我是一个print远离乒乓球的表情.ncurses似乎更强大.

必须有很多人处于这种状况.我正在寻找一个相关的教程或资源,可以帮助我解决ncurses是什么以及如何使用它.任何提示或类似的故事也会引起极大的兴趣!

caf*_*caf 5

ncurses是的,是你正在寻找的图书馆.举个例子,这里的(n)诅咒相当于gotoxy:

名称

move,wmove - 移动curses窗口光标

概要

   #include <curses.h>

   int move(int y, int x);
   int wmove(WINDOW *win, int y, int x);
Run Code Online (Sandbox Code Playgroud)

描述

这些例程将与窗口关联的光标移动到第y行和第x列.在调用刷新之前,此例程不会移动终端的物理光标.指定的位置相对于窗口的左上角,即(0,0).

附录:

在你的评论中你会问到关于curses的窗口 - 我不认为我可以真正改进ncurses手册页上的内容,所以我只是引用它:

ncurses库允许操作称为窗口的数据结构,可以将其视为表示CRT屏幕的全部或部分的二维字符数组.提供了一个名为stdscr的默认窗口,它是终端屏幕的大小.其他人可能会用newwin创建.

请注意,curses不处理重叠窗口,这是由面板(3CURSES)库完成的.这意味着您既可以使用stdscr,也可以将屏幕划分为平铺窗口,而不是使用stdscr.混合两者将导致不可预测的和不期望的效果.

Windows由声明为WINDOW*的变量引用.这些数据结构使用此处和ncurses手册页中其他地方描述的例程进行操作.其中,最基本的例程是move和addch.这些例程的更一般版本包含在以w开头的名称中,允许用户指定窗口.不以w开头的例程会影响stdscr.

在使用例程操作窗口之后,调用refresh,告诉curses使用户的CRT屏幕看起来像stdscr.窗口中的字符实际上是chtype类型(字符和属性数据),因此关于字符的其他信息也可以与每个字符一起存储.

因此,总之,您可以放心地忽略整个窗口,只需使用stdscr窗口.