engine向上提供的接口 - laekov/dgebc GitHub Wiki

核心思想

抽象为一个能提供游戏逻辑功能的模块,保证:能在不改动其他模块的情况下,形成不同的游戏,例如从小车换成俄罗斯方块、2048、等等……

类型定义

所有类型、函数等定义均在C++类Engine内。使用时应创建该类的实例,调用相关的函数。

  • 输入类型:typedef std::string input_t,内容允许包含'\0',表示一个小车。
  • 输出类型:typedef double output_t,表示得分的数据类型。

提供给worker的接口

  • output_t score(const input_t &in),计算一个小车的得分。
  • input_t combine(const input_t &in1, const input_t &in2),输入两个小车,生成一个新的小车。
  • input_t initial(),生成一个全新的小车。
  • input_t mutate(const input_t &in),变异一个小车。

提供给client的接口

  • /*to_be_specified*/ visualize(const input_t &in),通过图形界面绘制一辆小车,返回一个widget之类的东西(没想好)。