65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.40/5 (9投票s)

2007 年 7 月 24 日

CPOL

2分钟阅读

viewsIcon

56546

downloadIcon

1438

使用 CImg 库的小游戏编程教程。

Screenshot - jawbreaker.jpg

引言

在这里,我提出一个 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:初始版本
© . All rights reserved.