/sugarscape

糖域模型的可视化模拟

Primary LanguageC++

糖域模型的简单实现

背景

是一个用于模拟社会运行的数学模型,简单讲就是在一个二维网格中分布有一些糖,虫子开始随机分布在格子中。虫子生存需要不断消耗糖分,研究虫子在生存需求下的分布运动规律。

实现

用c++实现,每个.h文件都只包含一个同名类。

Mapgen类

负责生成随机地图,并管理各个格点数据。目前只有随机分布生成糖量,未来考虑加入指定的生成类型,比如生成“糖山”。

Wormgen类,继承Mapgen

负责生成虫子,并放置到地图中。管理虫子状态,负责虫子的消耗与糖分补充。

Wormmove类,继承Wormgen

负责虫子的移动逻辑实现,目前只有简单的判断周围四格取糖分最高点以及随机行走的策略,后续可能会增加其他策略。

Result类,继承Wormmove

输出虫子的生存状态,未来考虑加入格点与虫子结合的可视化输出。

Sugarscape类,继承Result

程序入口。