使用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即可正常运行,如下图所示:

参考资料

相关推荐
何以解忧,唯有..12 小时前
Python 线程编程:从入门到实战
开发语言·python
_wxd66613 小时前
STL-stack与queue与priority_queue(容器适配器)
c++
zh路西法13 小时前
【玩转VLA具身智能机械臂】(二):MoveIt2 运动规划——架构、配置与 C++ 上手
c++·机械臂·路径规划·vla·planner·moveit2
SomeB1oody13 小时前
【RustyML入门】7.2. 深入模型持久化
开发语言·后端·机器学习·rust·教程
yaoxin52112313 小时前
502. Java 反射 - 编写 MessageInterceptor 类
java·开发语言
wuyk55513 小时前
Python零基础入门第五章:元组Tuple(不可变容器详解、列表与元组区别)
开发语言·python
三84413 小时前
PHP 污点分析绕过实战:CURL、get_meta_tags 与 fpm_get_status 引入非预定义污点源
开发语言·php
2601_9657984714 小时前
Build a Fast, High-Ranking Restaurant Website with Rolanda Theme
开发语言·ios·swift
caimouse14 小时前
ReactOS 窗口系统分析(25):标题栏显示与系统按钮 — nonclient.c 标题栏专题
c语言·开发语言
诺伦14 小时前
Rust 错误处理实战:从 unwrap 到优雅 Result 的进阶之路
开发语言·后端·rust