[Avida-cvs] [avida-svn] r558 - development/source/main
goingssh@myxo.css.msu.edu
goingssh at myxo.css.msu.edu
Mon Apr 3 18:17:57 PDT 2006
Author: goingssh
Date: 2006-04-03 21:17:57 -0400 (Mon, 03 Apr 2006)
New Revision: 558
Added:
development/source/main/cReactionResult.H
Log:
Still this file somehow got missed...
Added: development/source/main/cReactionResult.H
===================================================================
--- development/source/main/cReactionResult.H 2006-04-04 01:03:58 UTC (rev 557)
+++ development/source/main/cReactionResult.H 2006-04-04 01:17:57 UTC (rev 558)
@@ -0,0 +1,71 @@
+/*
+ * cReactionResult.h
+ * Avida
+ *
+ * Created by David on 12/5/05.
+ * Copyright 2005-2006 Michigan State University. All rights reserved.
+ * Copyright 1993-2004 California Institute of Technology.
+ *
+ */
+
+#ifndef cReactionResult_h
+#define cReactionResult_h
+
+#ifndef tArray_h
+#include "tArray.h"
+#endif
+
+class cReactionResult {
+private:
+ tArray<double> resources_consumed;
+ tArray<double> resources_produced;
+ tArray<double> resources_detected; //Initialize to -1.0
+ tArray<bool> tasks_done;
+ tArray<double> tasks_quality;
+ tArray<bool> receive_tasks_done;
+ tArray<bool> send_tasks_done;
+ tArray<bool> reactions_triggered;
+ double bonus_add;
+ double bonus_mult;
+ tArray<int> insts_triggered;
+ bool lethal;
+ bool active_reaction;
+
+
+ inline void ActivateReaction();
+
+ cReactionResult(); // @not_implemented
+ cReactionResult(const cReactionResult&); // @not_implemented
+ cReactionResult& operator=(const cReactionResult&); // @not_implemented
+
+public:
+ cReactionResult(const int num_resources, const int num_tasks, const int num_reactions);
+ ~cReactionResult() { ; }
+
+ bool GetActive() { return active_reaction; }
+
+ void Consume(int id, double num);
+ void Produce(int id, double num);
+ void Detect(int id, double num);
+ void Lethal(bool flag);
+ void MarkTask(int id, const double quality=1);
+ void MarkReceiveTask(int id);
+ void MarkSendTask(int id);
+ void MarkReaction(int id);
+ void AddBonus(double value);
+ void MultBonus(double value);
+ void AddInst(int id);
+
+ double GetConsumed(int id);
+ double GetProduced(int id);
+ double GetDetected(int id);
+ bool GetLethal();
+ bool ReactionTriggered(int id);
+ bool TaskDone(int id);
+ double TaskQuality(int id);
+ double GetAddBonus() { return bonus_add; }
+ double GetMultBonus() { return bonus_mult; }
+ tArray<int>& GetInstArray() { return insts_triggered; }
+};
+
+#endif
More information about the Avida-cvs
mailing list