慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

数字拼图游戏

这是一个简易的拼图游戏。

其实很多时候,精彩的游戏不一定非要用图片。将游戏的功能和手感都做好,游戏一样好玩。

所以我就做了这个拼图游戏当作例子。运行效果如下:

完整的 VC 源代码如下:

/////////////////////////////////////////////////////////
// 程序名称:数字拼图游戏
// 编译环境:Visual C++ 2010,EasyX_20210224
// 作    者:慢羊羊
// 最后修改:2021-3-26
//
#include <easyx.h>
#include <time.h>
#include <conio.h>


IMAGE	g_Block[16];		// 拼图碎片
byte	g_Map[4][4];		// 游戏地图(存储了每个碎片的下标)
byte	g_EmptyX, g_EmptyY;	// 
...

C 语言天罡三十六题 - 封神九题(2021-4-10)

该系列共分四篇:

  • 基础九题 https://codebus.cn/yangw/a/36-tasks-g1
  • 进阶九题 https://codebus.cn/yangw/a/36-tasks-g2
  • 精英九题 https://codebus.cn/yangw/a/36-tasks-g3
  • 封神九题 https://codebus.cn/yangw/a/36-tasks-g4 (本篇)

相关说明请参考基础九题。

封神九题

(未完待续)

C 语言天罡三十六题 - 精英九题(2021-4-10)

该系列共分四篇:

  • 基础九题 https://codebus.cn/yangw/a/36-tasks-g1
  • 进阶九题 https://codebus.cn/yangw/a/36-tasks-g2
  • 精英九题 https://codebus.cn/yangw/a/36-tasks-g3 (本篇)
  • 封神九题 https://codebus.cn/yangw/a/36-tasks-g4

相关说明请参考基础九题。

精英九题
 

(未完待续)

封神九题

https://codebus.cn/yangw/a/36-tasks-g4

C 语言天罡三十六题 - 进阶九题(2021-4-10)

该系列共分四篇:

  • 基础九题 https://codebus.cn/yangw/a/36-tasks-g1
  • 进阶九题 https://codebus.cn/yangw/a/36-tasks-g2 (本篇)
  • 精英九题 https://codebus.cn/yangw/a/36-tasks-g3
  • 封神九题 https://codebus.cn/yangw/a/36-tasks-g4

相关说明请参考基础九题。

进阶九题

(未完待续)

精英九题

https://codebus.cn/yangw/a/36-tasks-g3

C 语言天罡三十六题 - 基础九题(2021-4-10)

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。

这些题目的难度是递增的。如果觉得前面的题目比较简单,可以直接跳过。练习的目标,是可以独立写出代码量超过 2000 行的项目。在这个基础上,再学习数据结构、面向对象等进阶内容,才能真正理解其意义。

很遗憾,这些题目没有标准答案。每个题目都可以根据自己的理解来完成,完成后可以和其他人交换代码相互学习,以期提高。

这 36 个练习程序我会根据大家的反馈逐步完善,标题中的日期就是当前文档的最后更新日期,希望大家根据最新版本练习。

题目分为四组:

  • 基础九题 https://codebus.cn/yangw/a/36-tasks-g1 (本篇)
  • 进阶九题&n
...

关于 EasyX 的各种教程、实体书籍等学习资源推荐

每个人的学习方式不同,有些同学喜欢看帮助文档学习,有些同学喜欢看书籍教程学习,还有些学生喜欢阅读别人的源代码学习。以下收录了关于 EasyX 的各种学习资源,如果有更好的学习资源推荐,请到 C 语言革命 QQ 群 私信群主,然后我把大家的推荐汇总起来整理到这里。

喜欢阅读帮助文档的同学,看这里: https://docs.easyx.cn

喜欢阅读源代码的同学,看这里: https://codebus.cn

喜欢看在线教程的同学,看这里:https://codeabc.cn/bestans/a/concise-lesson-0

喜欢看实例教程的同学,推荐看童晶老师的知乎号,里面有非常多的游戏实例教程:https://www.zhihu.com/people/tongjingHHU

喜欢看纸质书籍的同学,推荐看童晶老师的书《C语言课程设计与游戏开发实践教程》,各大高校的图书馆应该都可以找到,淘宝也有许多店家在卖。

...

游戏素材网站推荐

写游戏的同学辛苦了。

这里推荐几个免费的游戏素材网站。欢迎推荐更多的素材网站,直接留言给我,我加到这个列表里面。

1. The Spriters Resource

地址:https://www.spriters-resource.com,https://www.sounds-resource.com

介绍:非常丰富齐全的游戏素材网站,并且按照游戏主机分类,包括 NES、PS、GBA 等各大游戏平台的游戏,素材基本都是抠好图的 PNG 格式,非常好用。想做高仿游戏的同学不要错过。

还有 3D 模型、贴图、音效等素材。就是国外网站,访问速度有点慢。

2. Open Game Art

地址:https://opengameart.org

介绍:很全很好用的游戏资源网站,就是国外网站的访问速度有点慢。

3. 爱给网

地址:http://www.aigei.com

...

开学新装备 - 学生党是否该入手 MacBook?

学生党是否该入手 macbook 这个问题,相信许多人在许多社区都有看到过类似讨论。只不过,许多讨论都掺杂了信仰、智商税、不懂、不熟悉未来需求等各种因素,导致内容空洞价值不大。这篇文章,抛开了所有非理性因素,详细的告诉你该如何选择。

便携性

有人说,喜欢 macbook 就是喜欢那种轻薄的感觉。

现在来看看真实数据:

屏幕大小 外观尺寸 重量
苹果 MacBook Pro 2020 13 寸
...

创建一个不受系统缩放设置(DPI)影响的绘图窗口

现在的屏幕分辨率都比较高,为了使屏幕字体不至于太小,通常在 Win10 的显示设置里面设为放大 125% 或 150% 或更大,这样就会导致像素实际上被放大了。

如果你的程序不希望受系统缩放设置影响,你需要使用一个新的 API 函数:SetProcessDpiAwareness

注意这个 API 函数的使用条件:

  • Win8.1 及以上版本
  • 头文件 ShellScalingApi.h
  • 库文件 Shcore.lib

以下是一个完整的范例程序,该范例创建一个不受系统缩放设置影响的绘图窗口,并画一个圆:

// 编译环境:Win10 + VS2019 + EasyX_20200727
//

// 设定操作系统版本为 Win10
#define WINVER 0x0A00
#define _WIN32_WI
...

不用创建项目,直接在 VS 里快速测试 C/C++ 代码

概述

Visual Studio 强大、方便,但是每次写代码都要先创建新项目,这对于一些简单的代码测试来说有点不方便。

本文介绍一种使用 VS 快速测试代码的方法。

该方法适用任何版本的 VS。“不用创建项目”,是指不用“手工”创建项目,而是通过批处理命令,自动完成相关功能,实现双击图标后就进入代码编写环境。

准备工作

先按照如下步骤进行准备(请根据实际情况调整路径):

1. 建立文件夹 D:\TestCpp\,里面存放用来快速测试代码的项目。

2. 打开 Visual Studio,创建一个 Win32 Console Application 项目作为模版,项目路径 D:\TestCpp\Template\TestCon,其它设置根据自己的习惯来。然后添加代码文件 main.cpp:

#include
...

大学生购买电脑推荐贴

本文给准备购买新电脑的同学参考。

有任何好的型号推荐,请到“C语言革命”QQ 群联系群主,说一下推荐的型号和理由,然后我补充到这篇文章里面。

每种笔记本都有自己的定位,不存在超轻+超薄+性能超强+超便宜的笔记本。

一、先聊聊基础配置

后面推荐的通常是系列,并没有推荐具体的配置。该选哪个配置,这里先统一说说。而且,不管你是什么专业,选购什么品牌的电脑,以及品牌型号是否在下面列表中,都先了解下这几点问题:

1. 价位

对于大学生来说,笔记本价位考虑在 ¥3500~¥5500 这个范围内就好。

更贵的价格肯定更好,但是,好的非常有限。

也不要说学绘图相关专业需要好显卡,更不要说开发游戏需要好显卡。这个价位的笔记本,性能已经比几年前的好许多了,几年前照样有好作品出现。当然,你要是真有能力开发 3A 游戏大作,我相信你不会来看这个推荐贴。

2. 大小

...

详细解释为什么写程序要用 Unicode 字符集

微软在 VC6.0 的时候,创建项目的默认字符集是 MBCS。从 VC2002(就是 VC7.0)开始,默认字符集就变为了 Unicode,直到今天。

本文就讲解编程中 Unicode 与 MBCS 字符集的区别,即 wchar_t 和 char 字符(串)的区别。

通过示例看区别

注:

  1. 实验环境 Windows 7 + VC2010 Express + EasyX_20200109(beta)。(在 Win10 下可以得到同样的结果)
  2. VC2010 Express 设置项目字符集的方法:在 Solution Explorer 右击项目 -> Properties,打开的属性窗口中,左侧选择 Configuration Properties / General 分类,右边将 Character Set 设置为 Use Unicode Character Set 即表示将项目设置
...

安装及配置 VC2010 的详细步骤

概述

Visual Studio(简称 VS)是宇宙最强大的编译器,没有之一。Visual C++(简称 VC)是 VS 里面的 C/C++ 开发环境,VC2010 学习版(也就是 Express 版)也是当前计算机二级考试 C 语言的官方指定考试环境,不像 VC6 那么过时,也不像 VC2019 那么体积庞大功能繁杂,非常适合初学者使用。

学习编程的过程中,英文是躲不开的。为了能尽早的熟悉英文环境,建议安装英文版的开发环境。因此,本文的安装步骤都是以 VC2010 Express 英文版进行讲解的。如果确实需要使用中文版,请自行翻译对照。

VC2010 Express 的中文名称为 VC2010 学习版,在本文中不再加以区分两者。

安装及配置 VC2010 Express 的步骤概述:

  1. 安装 Visual C++ 2010 Expres
...

修复 VC2010 编译错误:转换到 COFF 期间失败: 文件无效或损坏

有些系统在安装 Visual C++ 2010 后,编译时会提示错误:

中文版提示:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
英文版提示:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

网上有各种各样的修复办法,都比较麻烦。最简单、最权威、最可靠的解决办法是:安装 Visual Studio 2010 Service Pack 1 补丁包。该补丁包同时修复了其它许多问题。下载地址:https://appzip.cn/w/vs2010sp1

正确的提问方式

网络是一个很好的交流学习平台,但是有些同学比较郁闷:为什么自己在网上发的问题没人帮自己呢?这多半原因是因为这些同学“不会提问”。网上关于“学习怎样提问”的文章很多,这里以 C 语言编程的问题为例,简明扼要的说一下重点:

1. 别人对你的环境一无所知。

不要想当然的认为别人应该知道什么。比如,你的 C 语言开发环境是什么?操作系统是什么?这是书上的例题还是你自己写的代码还是你从网上随便找来的代码?环境不同,细节不同,或许对你的问题多少有点影响。

2. 别人不知道你的题目是什么

有些同学上来就发一堆代码,然后问“为什么错了”。这种问题通常都没人理。不要觉得别人看了你的代码就知道你的题目是什么,很多时候,不知道题目是什么就看不懂代码。所以如果你的问题是某个题目相关的,请简明的描述一下。编译如果有错误,请贴出来编译的错误信息;执行如果有错,请描述怎样操作执行以及会产生怎样的错误。

...