[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