使用C++编写的一款射击五彩敌人的游戏

使用C++编写的一款射击五彩敌人的游戏

背景

从油管上面up主TheCherno的一期视频My Favourite C++ Project I've EVER REVIEWED? // Code Review看到一款使用C++编写的一款射击五彩敌人的游戏,github源代码地址为:https://github.com/FearlessOne07/Spectrum

Spectrum

一款射击五彩敌人的游戏

操作

WASD - 移动

鼠标左键 - 开枪

Tab - 打开商店升级自己!

F11 - 全屏(Linux 系统无法使用)

Esc - 暂停

游戏玩法

射击敌人,收集光能,在商店升级,如此反复

图片




构建

  • 运行 git clone https://github.com/FearlessOne07/Spectrum.git --recursive
  • 确保已安装 cmake 和所需的生成器
  • 运行 cmake -S . -B build 在 build 目录中生成构建文件
  • 运行 cmake --build build 构建可执行文件和库。
  • 可执行文件将位于 bin 目录中

鸣谢

使用 raylib 制作。

"heart-ui"和"power-ups"纹理是这些assets 的修改版本

在Windows11中使用cmake和VS2022编译运行

编译Spectrum源代码

按照如下步骤

打开Windows cmd终端依次执行

    1. Run git clone https://github.com/FearlessOne07/Spectrum.git --recursive
    1. Make sure cmake and your desired generator are installed
    1. Run cmake -S . -B build to generate build files in the build directory
    1. Run cmake --build build to build the executable and libraries.
    1. Executable will be in the bin directory
      当然前提是得安装VS2022和cmake这两个工具
      运行完成后,会在源代码根目录bulid子目录下生成对应的Visual Studio工程文件,然后就可以直接鼠标双击Spectrum.sln使用VS2022直接打开·Spectrum`项目了。如下图所示:

与此同时会在源代码根目录下的bin/Debug或者bin/Release目录下生成对应的Spectrum.exe可执行程序,如下图所示:

2.运行Spectrum.exe可执行程序

Windows11中生成Spectrum.exe可执行程序之后,我们鼠标双击Spectrum.exe可执行程序会因为无法加载图片资源文件而崩溃,如下图所示:

如果我们直接通过VS2022打开Spectrum项目,然后Ctrl+F5是可以正常运行的,如下图所示:

从上图可以看到游戏界面比较简单,主要有左上角的标题栏和中间的PLAY和EXIT菜单项,用户通过鼠标左键单击PLAY按钮即可开始游戏,鼠标左键单击EXIT按钮即可退出游戏。


游戏资源目录如下图所示:

我们可以把assets目录下所有的文件夹拷贝到bin/Debug/Spectrum.exe或者bin/Release/Spectrum.exe所在的目录下,如下图所示:

然后再次鼠标双击执行Spectrum.exe即可正常运行,如下图所示:

参考资料

相关推荐
天外飞雨道沧桑10 分钟前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl14 分钟前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_26 分钟前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
“AI国潮设计-小江”1 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
lhbweilai2 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz2 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节
咩咩啃树皮2 小时前
JavaScript 中 this 指向为什么总在变?
开发语言·前端·javascript
程序员清风2 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
划破黑暗的第一缕曙光2 小时前
[C++]:4.模板
c++·template·模板·函数模版·类模版
砚底藏山河2 小时前
python量化实操:冷热分层存储
java·开发语言·python·金融