美文网首页伪程序员IT课程分享
用 C 语言开发一个字符界面的 flappy bird

用 C 语言开发一个字符界面的 flappy bird

作者: 蓝桥云课 | 来源:发表于2016-10-13 16:52 被阅读755次

    Flappy bird 想必是一款大家都不陌生的游戏,当初因为几近自虐的超高难度反而使它红极一时。作为一名程序员,你肯定想过自己开发一款这样的小游戏,实验楼介绍的是通过 C 语言来实现一款属于自己的 Flappy bird ,而且是字符界面的,有没有很酷炫的赶脚~

    一、效果图

    效果图

    为了降低实现的难度,我们采用单个字符 O来表示 bird ,而用符号* 组成的矩阵表示障碍物。

    是不是看着就很极客的方式,来吧,学C语言的童鞋,一起来跟着开发吧。

    二、项目说明

    教程是由 大梦想01 发布在实验楼,完整教程及在线练习地址:C 语言版的 flappy bird

    三、基础知识

    项目用到了一点数据结构的知识,还涉及到了 Linux 的一些系统调用。

    此外,还用到了一个文本界面的屏幕绘图库 ncurses。所以在编译时需要加上-lcurses 选项。

    因此,需要执行以下命令安装 ncurses 库。

    sudo apt-get install libncurses5-dev
    

    四、开发思路

    要实现字符界面版的 Flappy bird ,我们需要考虑实现以下三个关键点:

    • 程序要能响应键盘事件
    • 字符界面要能实时更新重绘
    • 如何使 bird 有种在往前飞行的感觉

    对于以上三个问题我们的解决方案如下:

    • 使用 Linux 提供的系统接口获取键盘事件
    • 使用 ncurses 库函数绘制字符界面
    • 要使 bird 有往前飞行的感觉,最简单的可以让 bird 在水平方向上从左往右移动,但是这样的话会使得 bird 在某一时刻超出界面边界,所以既然 bird 不便移动,我们不妨让障碍物从右往左移动,这样最终得到的视觉效果是一样的,而且也不存在 bird 超出边界的问题。

    五、开发步骤

    前面介绍了项目的开发思路,接下来就是开发步骤啦,我们的教程分为4个步骤来完成开发:

    • 常量定义:因为我们是终端字符界面,所以一切离不开 ASCII 字符,我们需要定义一些常量;
    • 定时问题:解决如何让背景定时移动的问题;
    • main 函数:在 main 函数里先做好初始化,然后在循环中接受键盘输入;
    • 编译:执行 gcc 指令进行编译;

    关于项目的详细开发文档、代码、步骤等,点击这里即可进行查看啦。

    相关文章

      网友评论

        本文标题:用 C 语言开发一个字符界面的 flappy bird

        本文链接:https://www.haomeiwen.com/subject/eqmwyttx.html