使用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 buildbuild 目录中生成构建文件
  • 运行 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
      当然前提是得安装VS2022cmake这两个工具
      运行完成后,会在源代码根目录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是可以正常运行的,如下图所示:

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


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

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

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

参考资料

相关推荐
郝学胜-神的一滴2 小时前
享元模式(Flyweight Pattern)
开发语言·前端·c++·设计模式·软件工程·享元模式
charlie1145141912 小时前
精读《C++20设计模式》——创造型设计模式:构建器系列
c++·设计模式·c++20·构造器模式
小莞尔3 小时前
【51单片机】【protues仿真】基于51单片机恒温箱系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
小王努力学编程3 小时前
brpc远程过程调用
linux·服务器·c++·分布式·rpc·protobuf·brpc
天天进步20153 小时前
React Server Components详解:服务端渲染的新纪元
开发语言·前端·javascript
青草地溪水旁3 小时前
设计模式(C++)详解—享元模式(2)
c++·设计模式·享元模式
郝学胜-神的一滴4 小时前
QT与Spring Boot通信:实现HTTP请求的完整指南
开发语言·c++·spring boot·后端·qt·程序人生·http
小陈又菜4 小时前
【C++】Template:深入理解特化与分离编译,破解编译难题
开发语言·c++·template·类模板
润 下4 小时前
C语言——函数(超详细分析)
c语言·开发语言·笔记·算法