Created
September 15, 2013 04:49
-
-
Save anonymous/6568115 to your computer and use it in GitHub Desktop.
Error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from utils_new import is_subset | |
class Land(object): | |
VALID_COLORS = ["C", "W", "U", "B", "G", "R"] | |
VALID_TYPES = ["Land", "Plains", "Island", "Swamp", "Forest", "Mountain"] | |
VALID_LAND_TYPES =["Basic", "Shock", "Tapland", "Gate"] | |
TYPES_TO_COLORS = { "Land":"C", | |
"Plains":"W", | |
"Island":"U", | |
"Swamp":"B", | |
"Forest":"G", | |
"Mountain":"R" } | |
def __init__(self, name, types, colors, land_type, required_types): | |
self.name = name | |
self.types = types | |
self.colors = colors | |
self.land_type = land_type | |
self.required_types = required_types | |
@classmethod | |
def basic(cls, name): | |
land = cls(name, [name], [cls.TYPES_TO_COLORS[name]], "Basic", []) | |
return land | |
@property | |
def name(self): | |
return self._name | |
@name.setter | |
def name(self, name): | |
self._name = name | |
@property | |
def types(self): | |
return self._types | |
@types.setter | |
def types(self, types): | |
if is_subset(types, self.__class__().VALID_TYPES): | |
self._types = types | |
else: | |
raise AttributeError() | |
@property | |
def colors(self): | |
return self._colors | |
@colors.setter | |
def colors(self, colors): | |
if is_subset(colors, self.__class__().VALID_COLORS): | |
self._colors = colors | |
else: | |
raise AttributeError() | |
@property | |
def land_type(self): | |
return self._land_type | |
@land_type.setter | |
def land_type(self, land_type): | |
if land_type in self.__class__().VALID_LAND_TYPES: | |
self._land_type = land_type | |
else: | |
raise AttributeError() | |
@property | |
def required_types(self): | |
return self._required_types | |
@required_types.setter | |
def required_types(self, required_types): | |
if is_subset(required_types, self.__class__().VALID_TYPES): | |
self._required_types = required_types | |
else: | |
raise AttributeError() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment