这次 ENGG1340 课程的 group project 是设计并实现一个 text-base game,作为终端上运行的 text-base game,有一个出彩的 GUI 肯定是一个加分项!
在未老师的介绍下,我知道了有 <ncurses.h>
库这么一个神奇的东西;最重要的是,虽然它不属于 C++ 标准库,但是在学校 server 里居然默认下载好了 (可见其出名的功能强大)
据说很多热门的终端程序,例如 Vim,SL 都用到了 ncurses
花了一个下午学习了一下用法,在这里简单的总结一下,并且附上一些简单 GUI 组成的实例
Installation
官方 release 网址在这里
在终端上输入命令 sudo apt-get install libncurses5
进行安装
Compilation
所有使用了 <ncurses.h
库的程序,在编译时需要添加参数 -l ncurses
例: g++ -o test test.cpp -lncurses
初始化窗口对象
使用 initscr()
初始化一个窗口对象 (WINDOW 类)
初始化过后,我们接下来将与该窗口对象进行交互: std::cin/out, scan/printf 等标准输入输出将失效