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++
官网还提供了一套非常好的入门教程,大家可以自学:
对应的目录:
–前言
另外推荐关注河海大学C语言老师,童晶老师,非常严谨踏实、致力于入门教学的老师,比我渣邮的本科老师在精力上投入真的是不能比。
他的账户:
他在知乎有专栏:
做游戏,学编程(C语言) 2016大一上同学开发的部分游戏效果 - 知乎专栏
正在学习中,望共勉:-)
C图形库Easyx的使用的更多相关文章
- 用C语言画一个心
用C语言图形库画一个心 --环家伟 这次我教大家用代码画一个心,这样你们就可以送给你们的女(男)朋友了.没找到对象的也可以用来表白啊. 1.首先,我去百度找了心形线的函数,如下: 2. 联系高中的数 ...
- 6.C语言迷宫程序界面版
写迷宫程序首先需要安装图形库easyX 安装地址链接:https://pan.baidu.com/s/1qZwFn3m 密码:ozge 项目截图: //左上角是七点,右下角是终点,蓝色表示的是走过的路 ...
- easyx图形库做贪吃蛇游戏
编程总是对着一个黑窗口,可以说是非常乏味了,于是喵喵就翻出来了以前用easyx图形库做图形界面的贪吃蛇游戏. 不过大家只是当做提高编程的乐趣来学习吧,想进一步做的话可以学习QT,还有其他的框架. 这是 ...
- 贪吃蛇—C—基于easyx图形库(上):基本控制函数实现 画图程序
自从学了c语言,就一直想做个游戏,今天将之付之行动,第一次写的特别烂,各种bug:就不贴了.今天网上看了好几个贪吃蛇,重新写了一次,做出来的效果还可以. p.s. easyx图形库是为了方便图形学教 ...
- 校园导游系统(C++实现,VC6.0编译,使用EasyX图形库)
运行效果: 说明: 由于当年还不会使用多线程,所以很多获取用户点击的地方都是使用循环实现的...CPU占用率会比较高. 代码: //校园导游系统.cpp 1 #include <graphics ...
- 贪吃蛇(C++实现,VC6.0编译,使用了EasyX图形库)
程序效果: 代码: //main.cpp 1 #include <iostream> #include<fstream> #include <graphics.h> ...
- 贪吃蛇—C—基于easyx图形库(下):从画图程序到贪吃蛇【自带穿墙术】
上节我们用方向控制函数写了个小画图程序,它虽然简单好玩,但我们不应该止步于此.革命尚未成功,同志还需努力. 开始撸代码之前,我们先理清一下思路.和前面画图程序不同,贪吃蛇可以有很多节,可以用一个足够大 ...
- C语言图形库简单对比及EGE库的安装小手册
近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边 ...
- C++经典绘图工具EasyX
EasyX简介 EasyX 在学习C语言时,很多同学抱怨说C只能写最简单的Demo程序,通过printf在屏幕上打印字符来验证代码.这样的编程很枯燥,一点没觉得自己在设计软件. EasyX是针对C++ ...
随机推荐
- js获取url地址栏参数
前端开发中经常会遇到需要获取url地址栏参数问题 方法如下: function getQueryStringByName(name){ var src = "www.baidu.com?na ...
- EDI数据导入的注意事项&常见异常处理
EXCEL表格注意事项: • 编码是0开头的,格式必须是文本,否则前面请加字母: • 注意全角半角,中文标点英文标点: • 编号文字类开头和结尾不要有空格,姓名中间也不要 ...
- androidStudio 中 gradle 常用功能
1. gradle 使用 svn 当前版本信息. def getSvnRevision() { new ByteArrayOutputStream().withStream { os -> de ...
- MVC过滤器简单理解
之前对于MVC过滤器的理解一直处于很模糊的状态,就在网上找了一些很简单的案例做了一下学习,就找了一个比较容易理解的demo分享给大家. 新建一个MVC4项目,可以在global.asax文件中看到如下 ...
- php数据分页显示基础
一:分页原理: 所谓分页显示,也就是将数据库中的结果集认为的分成一段一段的来显示,需要两个初始的参数: 每页多少条记录 ($PageSize)? 当前是第几页($CurrentPageID)? 还有其 ...
- ##6.1 Neutron控制节点-- openstack pike
##6.1 Neutron控制节点 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##6.1 Neutron控制节 ...
- Linux下如何彻底删除MySQL
1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25a-1.rhel5MySQL-server ...
- phpcms网站搬家 至 服务器 完整并且详细过程
上传服务器空间后,才会通过搜索域名进行网页访问. 上传的过程肯定会有很多东西要修改,例如数据库怎么上传.路径怎么修改等..... 这就让大家看下,自己不断尝试后的完整搬家步骤!!! 一.上传服务器 ( ...
- javascript算法题判断输入年份是否是闰年
用户输入一个年份,判断这个年是否是闰年.判断闰年条件:① 非整百年数除以4,无余为闰,有余不闰:② 整百年数除以400,无余为闰,有余不闰.比如:2000年,整百数年,就要用②公式,除以400,无余数 ...
- Netty之粘包分包
粘包现象 客户端在一个for循环内连续发送1000个hello给Netty服务器端, Socket socket = new Socket("127.0.0.1", 10101); ...