Flappy Bird C语言实现及C图形库Easyx的使用
学习Eaxy X图形库后我的成果:
花了一周时间做出并完善了Flappy Bird,目前功能如下:
1. 背景的显示
2. 加入小鸟image
3. 小鸟自由下落,按空格键/鼠标右键后上升
4. 加入静态的障碍物
5. 障碍物向左移动
6. 判断碰撞
7. 障碍物移动出左边界后,在右边重新出现
8. 记分模块
9. 加入开始界面、结束界面
10. 加入背景音乐
11.加入最高分统计(待完成)
途中用到的lib、dll、头文件如下:
1.#include <graphics.h>
2.#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
#include "mmsystem.h"
winmm.lib
成品 Flappy bird 截图如下:
不过也有瑕疵 ,柱子左移偏慢,利用putimage会造成明显的位移效果,以后有空再修改
项目相关代码放在了我的 github 上,有兴趣的可以 clone 到 Windows 的 D盘下运行。
https://github.com/bw98/FlappyBird
通过学习Eaxy X图形库一周左右,可以做出如下程序
1.国际象棋棋盘绘制
2.弹球(七彩渐变,且遇屏幕反弹,反弹方向随机)
3.时钟(精确到秒,准备完善程序,画上刻度)
运用EasyX图形库,利用图形素材做一些简单的游戏,给C语言学习增加一些乐趣。
下面贴干货链接:
EasyX安装包下载链接:
下载 -- EasyX Library for C++
怎样安装 EasyX? -- EasyX Library for C++
怎样使用 EasyX?(Visual C++ 6.0) -- EasyX Library for C++
怎样使用 EasyX?(Visual C++ 2008) -- EasyX Library for C++
官网还提供了一套非常好的入门教程,大家可以自学:
VC绘图/游戏简易教程--前言 -- EasyX Library for C++
对应的目录:
–前言
–1:创建新项目
–2:简单绘图,学习单步执行
–3:熟悉更多的绘图语句
–4:结合流程控制语句来绘图
–5:数学知识在绘图中的运用
–6:实现简单动画
–7:捕获按键,实现动画的简单控制
–8:用函数简化相同图案的制作
–9:绘图中的位运算
–10:用鼠标控制绘图/游戏程序
–11:随机函数
–12:数组
–13:getimage / putimage / loadimag / saveimage / IMAGE 的用法
–14:通过位运算实现颜色的分离与处理
–15:窗体句柄(Windows 编程入门)
–16:设备上下文句柄(Windows 编程入门2)
另外推荐关注河海大学C语言老师,童晶老师,非常严谨踏实、致力于入门教学的老师,比我渣邮的本科老师在精力上投入真的是不能比。
他的账户:
他在知乎有专栏:
做游戏,学编程(C语言) 2016大一上同学开发的部分游戏效果 - 知乎专栏
正在学习中,望共勉:-)