• Home
  • About
    • 吾青 photo

      吾青

      么西么西,听得到吗?

    • Learn More
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

BEAST 教程0 代码说明

29 Mar 2020

Reading time ~1 minute

BEAST的代码风格与面向对象的高级语言如C#更相似,与常规C++的区别主要在于properties的使用,以及存在伪This的引用。

Properties

BEAST的属性不会写得像函数调用,而更像原始变量。

举例:

不这样写:object.SetRadius(3);

而是以此代替:object.Radius = 3;

这样做的好处是使代码更具有可读性,

object.SetRadius(object.GetRadius() + 5);

这样写很复杂,我们可以简单以下行代码代替:

object.Radius += 5;

另一个举例:

fitness = static_cast<float>(object.GetPowerUsed());

可以替代为:

fitness = object.PowerUsed.as<float>();

这样代码的可读性将更强。

教程0_2

This的引用可以像这样定义:

#define This (*this)

我们也可以直接用this->来实现相同目的,但是上述方式会更加简洁。

BEAST教程索引

BEAST 教程0 代码说明

BEAST 教程1 创建第一个Animat

BEAST 教程2 添加Object和交互式Animat

BEAST 教程3 引入遗传算法

Reference

https://minerva.leeds.ac.uk/webapps/blackboard/content/listContent.jsp?course_id=_505438_1&content_id=_6865832_1&mode=reset



进化学习机器学习 Share Tweet +1