| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from enum import Enum
- from command import Option
- import json
- import jsonpickle
- class Color(str, Enum):
- RED = "red"
- BLUE = "blue"
- YELLOW = "yellow"
- GREEN = "green"
- def __getstate__(self):
- return "hallo"
- def __setstate__(state):
- return Color(state)
- class Player(object):
- def __init__(self, color = None, name = None):
- self.color = color
- self.name = name
- self.hand = []
- self.options = []
- self.message = "Even wachten"
- self.selected_card = None
- self.card_is_changed = False
- def check_option(self, option):
- found_option = any(option.command == o.command and o.check_args(option) for o in self.options)
- if not found_option:
- self.message = f"{option.text} is niet toegestaan. " + self.message
-
- return found_option
- class DogEncoder(json.JSONEncoder):
- def default(self, obj):
- if hasattr(obj, '__dict__'):
- return obj.__dict__
- return json.JSONEncoder.default(self, obj)
- if __name__ == "__main__":
- player = Player(Color.BLUE, "Groen")
- player.options = [Option("newgame", None, "text")]
- print(player)
- print(player.__dict__)
- print(json.dumps(player, cls=DogEncoder))
- # print(json.dumps(player))
- print(jsonpickle.encode(player))
|