SporeBG-Conid

一个棋类游戏,与孢子分裂有关,本为cpp重构版,游戏核心主要玩法由cold1840制定的,可以看他的python版本,这个版本旨在用cpp完全重写这个游戏,注意本项目并未使用到里面的代码,核心逻辑实现是不一样的,且本项目打算加入许多功能,整体玩法也是完全不一样的,同时cold1840也在一定程度上参与项目的开发与维护

玩法介绍

回合制,双人人对战

初始的时候双方玩家都会拥有两个自己的孢子

玩家可以通过点击孢子来切换行动模式

属性

  • HP: 生命值
  • ATK: 攻击力

行动模式

  • GROW: 玩家可以令孢子生长获得一个新的孢子,选择生长的孢子HP减半,ATK增加2,新生长出的孢子为变化完属性的母孢子的属性,无法在非空格子GROWGROW有效范围是一格
  • MOVE: 玩家可以移动一个孢子,移动距离为一格,如果移动的目标是对方孢子,则会进行一次攻击
  • 攻击: 攻击通过MOVE触发,攻击对象为非己方孢子,攻击对方造成孢子ATK的伤害,自身会受到对方ATK一半的伤害,如果对方死亡则会移动到对方位置
  • SPORE: 玩家可以使一个孢子移动2格只能是空格子无法攻击,孢子会扣除两点HP

GROUP介绍

同一玩家的孢子会自动和上下左右的孢子构成一个GROUP,每回合每一个GROUP的孢子只能有一次行动机会,除SPORE外,GROWMOVE的范围是一个GROUP所有孢子可以行动的范围

补充说明

  • 每一个玩家操作结束,所有孢子的HP加2

构建指南

如果是mingw请使用最新版本,否则可能会构建失败

确保电脑安装了cmakeninja,使用gccg++

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
No description provided
Readme Apache-2.0 14 MiB
Languages
C++ 97.1%
CMake 2.7%
C 0.2%