这是个高仿的扫雷游戏,游戏手感非常贴近原版。
代码由两个类构成,基类 Graph 对 IMAGE 进行绘制,同时生成界面,初始化相关数据。MineSweeper 类继承 Graph 类,主要进行相关操作,识别按钮等做出反应。
执行效果如下:
完整的游戏源码如下:
/*
程序名称:扫雷
简 介:一款经典的小游戏,程序运行中可以通过 ESC 直接退出
左键点击,右键标记和取消标记,同时按下左右或按下中间键触发提示
其他操作基本和官方一致,界面略有调整,详细操作自行测试
编译环境:VS2019 + EasyX_20190529(beta)
编写时间:2019-6-29
最后修改:2019-7-30
作 者:Teternity(qq1926594835)
版 权:作者原创,无抄袭,不涉及版权问题,仅用作学习
*/
// 头文件
#include <graphics.h>
#include <co
...
贪婪球第一版在这里:https://codebus.cn/contributor/post/greedy-ball
2.0 版本相对第一版做了如下修改:
- 视野缩放,会随着体积增大视野变大,解决一代玩家球过大挡住屏幕现象
- 增加高杀伤力毒圈,解决满地图跑问题
- 提高敌人 AI 智商,会主动吃食物
- 修复若干已知 bug
- 扩大了游戏区域
- 全部用 c++ 重写
执行效果如下:
完整的源代码如下:
///////////////////////////////////////////////////
// 程序名称:贪婪球 2.0
// 编译环境:Microsoft Visual studio 2017,EasyX 2018春分版
// 作 者:奶酪
// 邮 箱:2190038793@qq.com
// 发布日期:2019-6-24
...
返回:C/C++ 内功心法(入门篇)- 目录
5. 寓教于乐
初学编程,更多的是锻炼逻辑思考能力。这里列出几个锻炼逻辑思维的小游戏,空闲的时候可以试试:
- 扫雷(推荐 Win10 商店里的版本)
- 人力资源机器(PC 版本或安卓版本都可以)
这里就不提供下载了,自己想办法吧,这是学编程之前的基本能力。
6. 学习环境的配置
为了跟随本书学习编程,请按照以下要求配置学习环境:
- 使用 Win10 系统,并设置为英文。如果计算机配置不高,可以考虑使用 Win7 或 WinXP 系统。
- 设置 Win10 系统显示文件的扩展名。
- 安装英文版的 Visual C++ 2010 学习版(英文版名称为 Visual C++ 2010 Express)。
下载地址:https://pan.baidu.com/s/1kFb9X-1HV8HRyE
...
返回:C/C++ 内功心法(入门篇)- 目录
4. 解惑
编程的前景及就业情况如何?
以计算机程序控制机器替代人力劳动,是大势所趋。
20 年前,学了驾照就可以弄辆出租车养家糊口。现在,手机约车逐步在取代传统的出租车,甚至共享汽车在很多地方都开始普及。再过几年,自动驾驶会取代出租车司机、公交车司机……
计算机种植,精确控制植物所需环境及养分。
计算机诊断病情,甚至实施精确手术。
计算机清洁,自动定期清扫城市街道、住宅小区等。
计算机实现自动实时翻译。
计算机实现自动配药。
计算机实现自动采摘……
这就是趋势,没什么需要担心的。
学编程是否需要天赋?
一句话解释:以大多数人的努力程度之低,根本轮不到拼天赋。
举个例子,一个女生每天出门需要化妆 5 分钟(够神速了吧)。
别人的学习时间是每天 500 分钟(8 小
...
返回:C/C++ 内功心法(入门篇)- 目录
3. 学习编程的预备知识
编程是一项有一定门槛的知识,在对计算机的软硬件不够了解的前提下学习编程,会事倍功半。因此,在开始正式讲编程知识之前,本节课先提一些基础要求。
上网
基于网络的 QQ 聊天、淘宝购物、支付宝付款等等,不再多说。着重说这几点:
百度搜索。常规内容的搜索都离不开百度。但是,要学会鉴别搜索结果中的广告与垃圾。
必应搜索。在全球范围内检索资料的不二选择,尤其是在英文网站检索编程相关问题,更是离不开必应搜索。
学会搜索“官方网站”。网上各种资料有真有假有新有旧,最靠谱的,是官方网站的资讯。比如要下载 EasyX ,比较推荐的做法是搜索“EasyX 官网”,然后在官网里面找到所需的下载。
学会鉴别“官方网站”。并不是所有搜到的“官网”都是官方网站。网络中有各种钓鱼网站,做的很
...
返回:C/C++ 内功心法(入门篇)- 目录
1. C/C++ 的历史及特点
有关计算机的历史、C 语言的历史、C++ 的历史,以及各自有什么特点,甚至哪年谁谁谁发明了什么等等,请自行网上搜索。
2. 编程思维
乔布斯说过:“每个人都应该学习编程,因为它会教给你如何思考。”
从厨神的故事开始
我相信每个人对“编程”这个词都有自己的认识。我从一个小故事说起吧。
有个厨神,开了一下小饭店,人们非常喜欢吃他做的菜。
但是厨神也有累的时候,也有生病的时候,也有带着孩子出去玩的时候,这时候虽然有其他厨师烧菜,但顾客的满意度会下降。并且大厨也没有三头六臂,饭店的规模始终无法扩大。
所幸厨神的孩子是学编程的,给支了这么一招:让厨神将菜谱全部写出来,调料全部量化,炒菜过程标准化,整理出一份“超级菜谱”。这样,其他厨师按照这个“超级菜谱”烧的菜,能达到厨神的九成水准,这已经能满足绝大多数顾客的口味了。
然后饭店继续招聘厨师,以这个“超级菜谱”培训新
...
这是一个专门给初学 C 语言的同学用的练习打字的程序。
屏幕上会落下来几个单词(都是 C 语言的关键字),然后通过键盘输入任意一个单词,如果输入正确,下落的对应单词就会消失。
程序会统计实时的准确率和打字速度等数据。
执行效果如下:
完整的源代码如下:
//////////////////////////////////////////////////////
// 程序名称:C 语言码农专用的打字练习程序
// 编译环境:Visual C++ 2008, EasyX_20190415(beta)
// 作 者:温良(大一)
// QQ:1677376433
// 最后修改:2019-5-10
//
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <stdio.h>
const int WID
...
返回:C/C++ 内功心法(入门篇)- 目录
C/C++内功心法(入门篇)- 目录
前言
这是一本学习编程的书。
注意,本书学习的是编程,不是 C/C++ 语法,不是 Linux 使用,不是怎样配置编译器,不是学习 C/C++ 标准。我们学习的,只是编程。之所以先强调这点,是因为目前许多同学学习编程的时候,方向都偏了。如果你学习编程学了很久都不得门而入,不妨看看本书。
本书会根据读者的反馈一直在线更新。所以,谢绝转载,没有意义,反倒会给网络留下许多内容陈旧的垃圾。
如果你有更好的建议,欢迎分享给我 yw80@qq.com。
如果你觉得写的还不错,可以通过捐助鼓励下我们:https://go.easyx.cn/donate。
目录
第一章 绪论
1. C/C++ 的历史及特点
2. 编程思维
3. 学习编程的预备知识
4. 解惑
...
EasyUI 类构成指南
EasyUI 将 UI 拆分成了两个部分--绘制单元和事件触发器。
使用者可以使用绘制单元来控制 UI 的风格,同时选择一定的事件触发器来使 UI 具备响应事件的功能。
绘制单元:
-CDrawCell:所有绘制单元的基类
-CSimpleShape:继承自 CDrawCell,集成了通过 EasyX 图形绘制函数绘制的图形属性
-CHaveSize:所有拥有大小的类的基类
-CRect:继承自 CSimpleShape,绘制一个矩形
-CRoundRect:继承自 CSimpleShape,绘制一个圆角矩形
-CCircle:继承自 CSimpleShape,绘制一个圆形,并以绘制位置为中心(所有绘制单元都从左上角画起,除了圆)
-CEllipse:继承自 CSimpleShap,绘制一个椭圆(通过外接矩形)
-CText:继承自 CDrawCell,输出一串字符串
-CUIIm
...
这是个益智游戏,规则很简单,按上、下、左、右键,使游戏区域的所有方块向该方向滑动,每次滑动时,相碰的两个相同数字会合并。同时,空白的地方也会在随机出现一个数字方块(2 或者 4)。游戏目标,是想办法合成 2048 这个数字方块。
执行效果如下:
完整的源代码如下:
/*
项目名称:2048
开发工具:Visual Studio 2017,EasyX 20190415(beta)
项目类型:Windows Consoal Application
作者:洛枫
QQ:1101458726
Email:1101458726@qq.com
发布日期:2019-4-17
最后修改:2019-4-24
*/
#include <easyx.h>
#include <string.h>
#include <map>
#include <sstream>
#include <time.h>
#include <con
...
游戏玩法:从第一个小球出发,按鼠标左键发射射线连接第二个小球,直到重新连接到第一个小球,形成闭环游戏过关。
游戏难度逐关递增。第一关小球位置随机,第二关球更小更多,第三关球会移动。
游戏运行截图如下:
该游戏的编译环境:Visual C++ 2008,EasyX_20190314(beta)
全部游戏源代码【请点击这里下载】。
该程序是用 C 语言实现的 FlappyBird 的电脑版,玩法和手机版的相同。
程序通过 alpha 域实现透明贴图,并且通过双缓冲绘图防止刷新闪屏。
程序执行效果如下:
该程序的编译环境:Visual C++ 2008,EasyX 20190314(beta)
项目类型:控制台程序
完整的项目代码与资源【请点击这里下载】。
作者:徐洛洛
QQ:1584133118
Email:1584133118@qq.com
这是一个自已DIY内容并且具有背景音乐的电子相册。通过自定义内容,可以制作成属于自己的电子纪念册。
点击小图可以查看每张图片以及对于的图片文字描述,按下 w、s、a、d、↑、↓、←、→ 按键可以达到和鼠标点击的同样效果。支持跳转至任意一张已加载的相片,也支持自动循环浏览相册,具体操作请点击对应的工具图标。
执行效果如下:
操作说明:
- 点击小相片将看到对应的大相片和相片印记
- 点击不同的工具图标将产生不同的效果
- 支持按键 w、s、a、d、↑、↓、←、→,作用分别是上下移动和左右翻页
- 支持跳转至任意编号相片
- 支持内容 DIY,具体操作请参照 Set.ini
- rc 文件为程序图标,不可修改
- res 为程序 DIY 内容所在文件夹,里面内容皆可修改
该项目的编译环境为:VS2017 + EasyX_20190314(beta)
完整的源代码【请点击这里下载】。
...
透明贴图,是指贴图时某些部分是完全透明的或半透明的。
本文介绍多种透明贴图的方案,包括:
- 指定透明色贴图(基于 Windows API 函数 TransparentBlt)
- 指定透明色贴图(基于直接操作显示缓冲区)
- 使用三元光栅操作实现透明贴图
- 根据 png 的 alpha 信息实现半透明贴图(基于 Windows API 函数 AlphaBlend)
- 根据 png 的 alpha 信息实现半透明贴图(基于直接操作显示缓冲区)
各种方法各有利弊,大家可以根据自己的需求选择。
1. 指定透明色贴图(基于 Windows API 函数 TransparentBlt)
这是最简单的透明贴图方法。
该方法要求图片素材的透明部分为纯色,因此建议使用 gif 或 png 格式的图片素材。如果使用 jpg 格式的图片素材,那么由于 jpg 的有损压缩,会造成边缘颜色有微小差异,与指定的透明色并不完全相同,从而导
...