文章目录

  • 一、光标库(curses)的基本函数
  • 二、体验BBS
  • 三、Linux 环境下C语言编译实现贪吃蛇游戏
  • 四、Linux 环境下C语言编译实现弹球游戏
  • 五、总结
  • 六、参考资料

一、光标库(curses)的基本函数

  1. initscr()
    打开curses模式 进入你的终端。
  2. endwin()
    关闭窗口stdscr
  3. noecho()
    关闭回显 让键盘输入字符 不显示在终端上。
  4. echo()
    显示字符。
  5. cbreak()
    接受单个字符处理 禁止行缓冲。
  6. keypad(WINDOW *, bool)
    指定窗口 激活功能键 上下左右 F1 F2等。
  7. start_color()
    打开color模式 。
  8. scroll()
    指定窗口 接受字符 超过一行自动写入下一行。

除了这些函数以外,还有很多。如果想要了解更多信息,可以参考以下资料:

  1. https://www.mkssoftware.com/docs/cur_index.asp

2.https://wenku.baidu.com/view/cfe045282af90242a895e5f1.html#

二、体验BBS

1.使用BBS前的配置
控制面板——>程序——>启动或关闭Windows功能

启动telnet client和适用于Linux的Windows子系统

2. 打开BBS的方法
打开cmd,然后输入telnet bbs.newsmth.net,就会出现下面的界面,以游客方式登录,就可以浏览到一些消息,进行操作。

三、Linux 环境下C语言编译实现贪吃蛇游戏

  1. 准备工作
    安装curses库
  2. 编写程序
    程序参考:
    http://www.linuxidc.com/Linux/2011-08/41375.htm
  3. 编译链接程序
    gcc mysnake.c -lcurses -o mysnake
    使用到curses库

    4.效果显示

四、Linux 环境下C语言编译实现弹球游戏

  1. 编写程序
    代码参考:
    https://blog.csdn.net/psc0606/article/details/9990981
  2. 编译链接
    gcc bounchball.c -lcurses -o bounchball
  3. 效果显示

    通过实际查看,发现当curses库的头文件是放在目录/urs/include之下的。

    照常来说,curses的库文件是存放在/usr/lib的目录之下,但是并没有找到对应的库文件。

五、总结

通过使用第三方库函数来实现两个终端游戏的编译,发现只要在编译的时候添加第三方库,工具gcc会自动区对应的位置找,不需要我们去查找到他们的位置。同时,在第三方库函数的使用下,也会发现开发过程会有很大的简化。

六、参考资料

1.Linux下curses库的安装和使用
2.Linux头文件和库的搜索路径

了解第三方库函数——curses相关推荐

  1. Abaqus安装python第三方库函数

    闲话Abaqus二次开发 基于Python对Abaqus进行开发,可以实现批量.快速建模.分析和后处理. Abaqus的二次开发大体上分为子程序开发和GUI开发(用户图形界面开发)两类.本人之后的一系 ...

  2. GCC编译器的常用命令及使用

    一.用gcc生成静态库和动态库 (1)编辑生成子程序hello.h.hello.c.main.c (2)将hello.c编译成.o文件 (3)由.o文件创建静态库 (4)在程序中使用静态库 (5)由. ...

  3. Linux下curses的安装和使用

    Linux下curses的安装和使用 前言 光标库主要函数功能 安装光标库(Curses) BBS 贪吃蛇 总结 前言 本文讲解了curses的一些主要函数的功能及安装. 光标库主要函数功能 init ...

  4. jni加载第三方so_Linux的so文件到底是干嘛的?浅析Linux的动态链接库

    HelloWorld背后的故事:在Linux上编译C语言程序 我们分析了Hello World是如何编译的,即使一个非常简单的程序,也需要依赖C标准库和系统库,链接其实就是把其他第三方库和自己源代码生 ...

  5. Python第三方库之MedPy

    文章目录 1.MedPy简介 2.MedPy安装 3.MedPy常用函数 3.1 `medpy.io.load(image)` 3.2 `medpy.metric.binary.dc(result, ...

  6. UE4_第三方库的引用

    UE4中引用第三方库和一般C++项目是有区别的.下面主要介绍lib静态库和dll动态库的引用: Demo调试工具:UE4.15.3 .VS2015 新建UE4项目 首先在UE4中新建一个空的C++项目 ...

  7. 简单探寻GCC编译器背后的故事

    目录 一.用gcc生成 .a静态库和 .so动态库 1.编辑生成例子程序 2.将hello.c编译成 .o文件 3.由 .o文件创建静态库 4.在程序中使用静态库 5.由.o 文件创建动态库文件 6. ...

  8. Ubuntu深入学习

    Ubuntu深入学习 一.可执行程序是如何被组装的? 二.用gcc生成静态库和动态库 1.编辑生成例子程序 2.将hello.c编译成.o文件 3.由.o 文件创建静态库文件 4.在程序中使用静态库 ...

  9. 这就是为什么我们需要在React的类组件中绑定事件处理程序

    by Saurabh Misra 索拉·米斯拉(Saurabh Misra) 这就是为什么我们需要在React的类组件中绑定事件处理程序 (This is why we need to bind ev ...

最新文章

  1. 中如何构造有参和无惨_CAD制图初学入门:CAD机械软件中如何构造孔?
  2. 计算机二级公共基础知识证书,计算机二级公共基础知识
  3. Prioritize your work by your title
  4. led灯光衰怎么解决_什么是LED光衰,光衰怎么解决?
  5. 服务 TCP 断线错误分析
  6. 【杂谈】为什么邀请大家加入硬核知识星球有三AI
  7. leetcode409.Longest Palindrome
  8. 企业的无线安全问题综合解决方案
  9. 前端学习(624):小结
  10. JAVA知识基础(六):抽象
  11. MySQL笔记-事务理论及并发存在的三个问题(脏读、不可重复读、幻读)演示
  12. Java版单链表讲解
  13. .Net 高效开发之不可错过的实用工具
  14. U盘分区与启动是怎么回事?
  15. Action类为何要继承ActionSupport
  16. 3dmax打不开提示服务器未响应,3DMAX模型打开一直未响应的解决办法
  17. 中小学创客教室建设,教育创客空间整体解决方案
  18. 28Python库分析科比生涯数据
  19. 以管理员身份打开cmd窗口
  20. gstBuffer的 data 和 meta

热门文章

  1. 给图像打上马赛克python实现
  2. 使用QT简单制作中国象棋之棋子的摆放
  3. Pr_cc 学习笔记(十二)水平翻转,视频特效
  4. Mysql 安装 000007b_w7电脑蓝屏0x0000007b的解决方法
  5. 博士申请 | 美国加州大学圣克鲁兹分校王鑫教授招收NLP/CV方向全奖博士生
  6. 图扑喜获第十一届中国创新创业大赛全国赛优秀奖!
  7. 高可用网站架构设计与实现
  8. Linux下Makefile中动态链接库和静态链接库的生成与调用
  9. Windows 10 滑动关机
  10. vue在日历表上面创建事件_如何在R中创建颜色编码的日历