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之类的东西(没想好)。