Skip to content

Instantly share code, notes, and snippets.

@adam-davis
Created January 24, 2012 01:11
Show Gist options
  • Save adam-davis/1667126 to your computer and use it in GitHub Desktop.
Save adam-davis/1667126 to your computer and use it in GitHub Desktop.
Ethics are tricky....
#ifndef _ETHICALTHEORY_H_
#define _ETHICALTHEORY_H_
#include "Outcome.h"
#include "Situation.h"
#include "Value.h"
#include "Action.h"
#include <vector>
class EthicalTheory
{
public:
EthicalTheory();
virtual Action makeDecision(Situation&);
std::vector<Action> getPossibleActions(Situation&);
virtual int calculateOverallGoodness(Outcome&);
private:
Value _benefit;
Value _harm;
Value _freedom;
Value _justice;
};
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment