--- /dev/null
+#include "stage.hh"
+using namespace Stg;
+
+class ControlledRobot {
+private:
+ ModelPosition *pos = nullptr;
+public:
+ ControlledRobot(Model *m) : pos(dynamic_cast<ModelPosition *>(m))
+ {
+ assert(this->pos != nullptr);
+ this->pos->Subscribe();
+ }
+ ModelPosition *get_pos() const { return this->pos; }
+};
+
+extern "C" int Init(Model *model, CtrlArgs *)
+{
+ auto r = new ControlledRobot(model);
+ r->get_pos()->SetXSpeed(-3.0);
+ return 0;
+}