mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
fedef3dd1dbf75946c4f507a615ca17a170121c0
SporeBG-Conid
一个棋类游戏,与孢子分裂有关,本为cpp重构版,游戏核心主要玩法由cold1840制定的,可以看他的python版本,这个版本旨在用cpp完全重写这个游戏,注意本项目并未使用到里面的代码,核心逻辑实现是不一样的,且本项目打算加入许多功能,整体玩法也是完全不一样的,同时cold1840也在一定程度上参与项目的开发与维护
玩法介绍
回合制,双人人对战
初始的时候双方玩家都会拥有两个自己的孢子
玩家可以通过点击孢子来切换行动模式
属性
HP: 生命值ATK: 攻击力
行动模式
- GROW: 玩家可以令孢子生长获得一个新的孢子,选择生长的孢子
HP减半,ATK增加2,新生长出的孢子为变化完属性的母孢子的属性,无法在非空格子GROW,GROW有效范围是一格 - MOVE: 玩家可以移动一个孢子,移动距离为一格,如果移动的目标是对方孢子,则会进行一次
攻击 - 攻击:
攻击通过MOVE触发,攻击对象为非己方孢子,攻击对方造成孢子ATK的伤害,自身会受到对方ATK一半的伤害,如果对方死亡则会移动到对方位置 - SPORE: 玩家可以使一个孢子移动2格,只能是空格子,无法
攻击,孢子会扣除两点HP
GROUP介绍
同一玩家的孢子会自动和上下左右的孢子构成一个GROUP,每回合每一个GROUP的孢子只能有一次行动机会,除SPORE外,GROW和MOVE的范围是一个GROUP所有孢子可以行动的范围
补充说明
- 每一个玩家操作结束,所有孢子的
HP加2
构建指南
如果是mingw请使用最新版本,否则可能会构建失败
确保电脑安装了cmake和ninja,使用gcc与g++:
git clone https://github.com/zhenyan121/SporeBG-Conid.git
mkdir build
cd build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
ninja
目前更新计划
- 完善网络对战结束处理
- 整改输入和事件分发系统
待添加玩法
- 道具(直接消灭一个孢子之类的)
- 技能(将孢子发射出去,不断碰撞掉血)
- 随机事件(例如:小于多少的孢子会死亡)
项目结构
SporeBG-Conid/
├── src/
│ ├── core/ # 核心应用与窗口管理
│ ├── game/ # 游戏逻辑核心:棋盘、棋子、规则等
│ ├── graphics/ # 图形渲染相关
│ ├── input/ # 输入处理系统(键盘、鼠标)
│ ├── scenes/ # 场景管理系统(菜单、对局等)
│ ├── utils/ # 工具类与配置
│ └── main.cpp # 程序入口(SDL3 回调)
├── assets/ # 资源文件:图片、字体、音效
│ ├── images/
│ ├── fonts/
│ └── sounds/
├── config/ # 配置文件(如 game.ini)
└── build/ # 编译输出目录(建议 .gitignore 掉)
一些想说的
这是我第一次用cpp写的项目,想写个比较完整的出来,但是遇到了一堆问题,只能说路漫漫其修远兮,吾将上下而求索,如果你有好的建议也是可以提出来的
Description
Languages
C++
97.1%
CMake
2.7%
C
0.2%