[Avida-SVN] r1067 - in branches/coopcomm: Avida.xcodeproj source/main

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Wed Nov 1 13:12:46 PST 2006


Author: beckma24
Date: 2006-11-01 16:12:46 -0500 (Wed, 01 Nov 2006)
New Revision: 1067

Modified:
   branches/coopcomm/Avida.xcodeproj/project.pbxproj
   branches/coopcomm/source/main/cTaskLib.cc
   branches/coopcomm/source/main/cTaskLib.h
Log:
Added skeleton for simple driectional sending tasks.

Modified: branches/coopcomm/Avida.xcodeproj/project.pbxproj
===================================================================
--- branches/coopcomm/Avida.xcodeproj/project.pbxproj	2006-11-01 21:03:18 UTC (rev 1066)
+++ branches/coopcomm/Avida.xcodeproj/project.pbxproj	2006-11-01 21:12:46 UTC (rev 1067)
@@ -925,7 +925,7 @@
 		DCC315CF076253A5008F7A48 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
 		DCC315D0076253A5008F7A48 /* task_event_gen.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = task_event_gen.cc; sourceTree = "<group>"; };
 		DCC315D1076253A5008F7A48 /* task_event_gen.old.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = task_event_gen.old.cc; sourceTree = "<group>"; };
-		DCC3164D07626CF3008F7A48 /* avida */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = avida; sourceTree = BUILT_PRODUCTS_DIR; };
+		DCC3164D07626CF3008F7A48 /* avida */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.executable"; path = avida; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */

Modified: branches/coopcomm/source/main/cTaskLib.cc
===================================================================
--- branches/coopcomm/source/main/cTaskLib.cc	2006-11-01 21:03:18 UTC (rev 1066)
+++ branches/coopcomm/source/main/cTaskLib.cc	2006-11-01 21:12:46 UTC (rev 1067)
@@ -358,6 +358,22 @@
     NewTask(name, "Reward the sender for sending toward the sink", &cTaskLib::Task_SendTowardSink);
   else if(name == "send-not-toward-sink")
     NewTask(name, "Reward the sender for not sending toward the sink", &cTaskLib::Task_SendNotTowardSink);
+  else if(name == "sent-north")
+    NewTask(name, "Reward the sender for sending north", &cTaskLib::Task_SentNorth);
+  else if(name == "sent-northwest")
+    NewTask(name, "Reward the sender for sending northwest", &cTaskLib::Task_SentNorthWest);
+  else if(name == "sent-west")
+    NewTask(name, "Reward the sender for sending west", &cTaskLib::Task_SentWest);
+  else if(name == "sent-southwest")
+    NewTask(name, "Reward the sender for sending southwest", &cTaskLib::Task_SentSouthWest);
+  else if(name == "sent-south")
+    NewTask(name, "Reward the sender for sending south", &cTaskLib::Task_SentSouth);
+  else if(name == "sent-southeast")
+    NewTask(name, "Reward the sender for sending southeast", &cTaskLib::Task_SentSouthEast);
+  else if(name == "sent-east")
+    NewTask(name, "Reward the sender for sending east", &cTaskLib::Task_SentEast);
+  else if(name == "sent-northeast")
+    NewTask(name, "Reward the sender for sending northeast", &cTaskLib::Task_SentNorthEast);
   else if(name == "graph-equ-tree")
     NewTask(name, "Reward an organism for being part of a tree.", &cTaskLib::Task_GraphEquTree);
   
@@ -1998,7 +2014,111 @@
   return 0.0;
 }
 
+double cTaskLib::Task_SentNorth(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
 
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver-1 && x_sender == x_receiver)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentNorthWest(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver -1 && x_sender == x_receiver -1)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentWest(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver && x_sender == x_receiver -1)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentSouthWest(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver +1 && x_sender == x_receiver -1)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentSouth(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver +1 && x_sender == x_receiver)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentSouthEast(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver +1 && x_sender == x_receiver +1)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentEast(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver && x_sender == x_receiver +1)
+    return 1.0;
+*/  return 0.0;
+}
+
+double cTaskLib::Task_SentNorthEast(cTaskContext* ctx) const {
+/*  if(ctx->GetMessage() == NULL)
+    return 0.0;
+  int x_sender, y_sender, x_receiver, y_receiver, x_BS, y_BS;
+
+  ctx->GetMessage()->GetSender()->GetPosition(x_sender,y_sender);
+  ctx->GetMessage()->GetReceiver()->GetPosition(x_receiver,y_receiver);
+
+  if(y_sender == y_receiver -1 && x_sender == x_receiver +1)
+    return 1.0;
+*/  return 0.0;
+}
+
+
 /*! This task rewards an organism for being part of a tree.  The rules for tree-ness
 are that the graph is connected and the graph has n-1 edges.
 */

Modified: branches/coopcomm/source/main/cTaskLib.h
===================================================================
--- branches/coopcomm/source/main/cTaskLib.h	2006-11-01 21:03:18 UTC (rev 1066)
+++ branches/coopcomm/source/main/cTaskLib.h	2006-11-01 21:12:46 UTC (rev 1067)
@@ -242,6 +242,16 @@
   double Task_SendTowardSink(cTaskContext* ctx) const;
   //! Reward an organism for sending message to organism who is not closer to the sink
   double Task_SendNotTowardSink(cTaskContext* ctx) const;
+  //! simple directional sending tasks
+  double Task_SentNorth(cTaskContext* ctx) const;
+  double Task_SentNorthWest(cTaskContext* ctx) const;
+  double Task_SentWest(cTaskContext* ctx) const;
+  double Task_SentSouthWest(cTaskContext* ctx) const;
+  double Task_SentSouth(cTaskContext* ctx) const;
+  double Task_SentSouthEast(cTaskContext* ctx) const;
+  double Task_SentEast(cTaskContext* ctx) const;
+  double Task_SentNorthEast(cTaskContext* ctx) const;
+  
   //! Rewards an organism for being part of a tree.
   double Task_GraphEquTree(cTaskContext* ctx) const;
 };




More information about the Avida-cvs mailing list