[Avida-SVN] r2223 - branches/energy/source/main

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Tue Dec 4 11:29:08 PST 2007


Author: beckma24
Date: 2007-12-04 14:29:08 -0500 (Tue, 04 Dec 2007)
New Revision: 2223

Modified:
   branches/energy/source/main/cTaskLib.cc
   branches/energy/source/main/cTaskLib.h
Log:
added move neutral task

Modified: branches/energy/source/main/cTaskLib.cc
===================================================================
--- branches/energy/source/main/cTaskLib.cc	2007-12-04 13:47:43 UTC (rev 2222)
+++ branches/energy/source/main/cTaskLib.cc	2007-12-04 19:29:08 UTC (rev 2223)
@@ -388,6 +388,8 @@
   // Movement Tasks
   if (name == "move_up_gradient")
     NewTask(name, "Move up gradient", &cTaskLib::Task_MoveUpGradient);
+  else if (name == "move_neutral_gradient")
+    NewTask(name, "Move neutral gradient", &cTaskLib::Task_MoveNeutralGradient);
   else if (name == "move_down_gradient")
     NewTask(name, "Move down gradient", &cTaskLib::Task_MoveDownGradient);
   else if (name == "move_not_up_gradient")
@@ -2767,6 +2769,12 @@
   return 0.0;
 }
 
+double cTaskLib::Task_MoveNeutralGradient(cTaskContext& ctx) const {
+  if(ctx.GetOrganism()->GetGradientMovement() == 0.0)
+    return 1.0;
+  return 0.0;
+}
+
 double cTaskLib::Task_MoveDownGradient(cTaskContext& ctx) const {
   if(ctx.GetOrganism()->GetGradientMovement() == -1.0)
     return 1.0;

Modified: branches/energy/source/main/cTaskLib.h
===================================================================
--- branches/energy/source/main/cTaskLib.h	2007-12-04 13:47:43 UTC (rev 2222)
+++ branches/energy/source/main/cTaskLib.h	2007-12-04 19:29:08 UTC (rev 2223)
@@ -279,6 +279,7 @@
   
   // Movement tasks (temp, rely on hack)
   double Task_MoveUpGradient(cTaskContext& ctx) const;
+  double Task_MoveNeutralGradient(cTaskContext& ctx) const;
   double Task_MoveDownGradient(cTaskContext& ctx) const;
   double Task_MoveNotUpGradient(cTaskContext& ctx) const;
 };




More information about the Avida-cvs mailing list