# snake **Repository Path**: sadlava/snake ## Basic Information - **Project Name**: snake - **Description**: 大作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-07-02 - **Last Updated**: 2024-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一、项目信息 1. 项目名:SnakeSurvivor 2. 组名:SSS 3. 成员:**刘东隅**(负责几乎全部美术内容以及绝大部分的UI界面和音效),**李文韬**(负责几乎整个游戏主循环相关架构设计与具体代码填充以及整个地图设计),**王远之**(负责程序测试、找bug以及数值调整与设计) 4. 项目链接:[完整项目gitee链接](https://gitee.com/sadlava/snake) 下面内容首先介绍了如何编译和运行此项目,详细模块功能和划分快速翻阅src/下的各种头文件即可, 详细文档参见: [gitee仓库](https://gitee.com/sadlava/snake/blob/master/doc/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E4%B8%8E%E6%A8%A1%E5%9D%97%E5%85%B3%E7%B3%BB%E8%AF%A6%E8%A7%A3.md) ### 二、构建指南 此指南旨在帮助您成功根据源文件编译出对应的可执行文件。 如果暂时没用合适的构建环境或是只是想快速查看编译和打包的结果,windows用户可以直接查看根目录压缩包下的snakeSurvivor.zip中的事先编译好的内容。 #### 1.Windows I. 使用[xmake](https://gitee.com/tboox/xmake/)(推荐): 直接在项目根目录(xmake.lua所在目录)下输入以下命令: ```bash xmake ``` 项目会自动开始编译,并在build/windows/x64/release(或/debug)下产生名为snake.exe的可执行程序,如何执行参考下一节内容“打包指南”。 注:由于项目设计初期便是使用xmake来组织的来自不同IDE的组员的项目,因此具体效果以此为准。 II.使用cmake(推荐): 安装cmake后直接在项目根目录(CMakeLists.txt所在目录)下输入以下命令: ```bash cmake . cmake --build . ``` 随后cmake会自动生成一系列文件,并在文件根目录(或名为Debug或Release的文件夹内)下产生名为snake.exe的可执行程序,如何执行参考下一节内容“打包指南”。 III. 使用make(需要安装cmake): 由于要考虑不同平台和不同编译器的差异,纯粹的makefile写起来非常繁琐,这里的makefile实际上调用的也是cmake,使用方法: ```bash make ``` #### 2. linux 注:由于组内成员均没有原生的图形化linux客户端供测试,对linux版本的测试相对较少,理论上能正常编译但是体验可能有所差异,主要以windows版本为准,敬请见谅。 O.准备工作: linux版本在开始构建之前必须手动安装对应的依赖库(因为不同的发行版安装命令略有不同,恕无法给出),具体而言,需要安装的库包括libsdl2-dev、libsdl2-ttf-dev和libsdl2-mixer-dev。 对于Ubuntu这一发行版,可以直接执行根目录下的install_dependencies.sh脚本,脚本会自动安装所需依赖,如果脚本因为某些原因出错,可以尝试手动执行以下命令: ```bash # 更新包列表 sudo apt-get update # 安装SDL2及其相关库 sudo apt-get install -y libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev ``` I. 使用[xmake](https://gitee.com/tboox/xmake/)(推荐): 直接在项目根目录(xmake.lua所在目录)下输入以下命令: ```bash xmake ``` 项目会自动开始编译,并在build/linux/x86_64/release(或/debug)下产生名为snake的可执行程序,如何执行参考下一节内容“打包指南”。 注:由于项目设计初期便是使用xmake来组织的来自不同IDE的组员的项目,因此具体效果以此为准。 II.使用cmake(推荐): 安装cmake后直接在项目根目录(CMakeLists.txt所在目录)下输入以下命令: ```bash cmake . cmake --build . ``` 随后cmake会自动生成一系列文件,并在文件根目录(或名为Debug或Release的文件夹内)下产生名为snake的可执行程序,如何执行参考下一节内容“打包指南”。 III. 使用make(需要安装cmake): 由于要考虑不同平台和不同编译器的差异,纯粹的makefile写起来非常繁琐,这里的makefile实际上调用的也是cmake,使用方法: ```bash make ``` ### 三、打包&运行指南 此指南旨在帮助您将可执行文件和所依赖的文件(主要是图像音效资源、存档、地图数据等)拷贝到正确的位置,使得程序正常运行,必要时您可以结合根目录压缩包下的snakeSurvivor.zip中文件摆放位置。 #### 1.windows I. 拷贝资源文件:文件需要的资源文件位于根目录下Asserts文件夹中,您需要将其中所有内容(两个文件夹和一个json文件)拷贝到和可执行文件位于一个目录下。 II. 拷贝动态链接库:您需要将根目录下SDL2\lib\x64\SDL2.dll、SDL2_mixer\lib\x64\SDL2_mixer.dll和SDL2_ttf\lib\x64\SDL2_ttf.dll总共三个dll拷贝到和可执行文件一个目录下。 III.执行:上述操作完成后双击snake.exe即可正常启动游戏 #### 2.linux I. 拷贝资源文件:文件需要的资源文件位于根目录下Asserts文件夹中,您需要将其中所有内容(两个文件夹和一个json文件)拷贝到和可执行文件位于一个目录下。 II.执行:上述操作完成后在终端输入./snake即可正常启动游戏(正确安装依赖后不需要拷贝动态链接库) ### 四、文件夹&文件说明 #### 文件夹 Assets:贴图、美术等文件资源 SDL2&SDL2_ttf&SDL2_mixer:编译依赖的SDL库 nlohmann:nlohmann json库 doc:一些开发早期的技术文档或是一些技术细节资料(可能跟不上版本) src:源代码位置 build(如果有):编译产生的文件位置 #### 文件 readme.md:说明文档,本文件 makefile:makefile文件 CMakeLists.txt cmake编译脚本 xmake.kua:xmake的编译脚本 .gitignore:git忽略标志文件,防止git错误地将编译出的程序等临时文件一同提交