一行代码实现的 Jawbreaker 游戏克隆






4.40/5 (9投票s)
使用 CImg 库的小游戏编程教程。

引言
在这里,我提出一个 C++ 版本的 Jawbreaker 游戏,代码量少于 128 行。这要归功于使用 CImg 库,这是一个小型且非常有用的 C++ 库,专门用于图像处理操作。
在我们的例子中,我们只使用 CImg
库的一些函数来处理图像,在窗口中显示动画图形,并检索用户事件(鼠标和键盘)。
请注意,CImg
是跨平台的,因此所提出的 Jawbreaker 代码可以在 Linux、BSD 或 MacOSX 计算机上编译。
Jawbreaker 游戏是一款简单而有趣的游戏,具有彩色球。单击一组(至少两个)彩色球会将其移除。集合越大,分数越高。 这是一款在基于 Windows Mobile 的 PDA 中常见的经典游戏。
背景
本文遵循以下两篇先前文章,解释如何使用 CImg
库编写小型游戏
这些不是必需的,但三篇文章一起可以很好地了解如何使用 CImg
创建一些小型游戏。
Using the Code
源代码非常小。文件 jawbreaker.cpp 有 156 行,但第一行代码从第 37 行开始,在注释之后,因此代码本身包含在 120 行中。当然,编码风格非常紧凑,但并非难以阅读:有注释,没有代码混淆。
它是如何工作的?首先,我们从头开始创建游戏图形,这意味着不需要额外的图形数据。基本上,对于这个游戏,我们需要创建彩色球精灵和一个背景。
然后,代码进入主事件循环,该循环使用之前创建的球显示游戏面板,并处理用户事件(鼠标和键盘)。
主要困难在于选择彩色球,以及必要时计算修改后的游戏面板。但正如你可能注意到的,这并不是一个巨大的步骤。
如何玩?
要控制游戏,只需使用鼠标:左键单击以选择一组连接的球,左键单击以确认其删除。使用“BACKSPACE”键进行撤销模式,使用“ESC”键结束游戏。
历史
- 2007/07/24:初始版本