You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

30 lines
742 B

#ifndef SPELL_WARZ_ELEMENT_HPP
#define SPELL_WARZ_ELEMENT_HPP 1
#include <string>
class Element
{
protected:
std::string name;
Element *strongAgainst;
Element *weakAgainst;
public:
static int WEAK_COMPATIBILITY;
static int NEUTRAL_COMPATIBILITY;
static int STRONG_COMPATIBILITY;
Element(std::string elementName,
Element *elementWeakAgainst = nullptr,
Element *elementStrongAgainst = nullptr);
std::string getName();
void setStrongAgainst(Element *element);
void setWeakAgainst(Element *element);
bool isStrongAgainst(Element *element);
bool isWeakAgainst(Element *element);
int compatibilityAgainst(Element *element);
bool operator<(Element &rhs);
};
#endif