import json,os.path,copy class Pokemon: def __init__(self): self.pkmns = dict() def __getitem__(self,k): return self.pkmns[k] def add(self,**kwargs): self.pkmns[kwargs["name"]] = kwargs class PCBox: """Pokemon box""" def __init__(self): self.pokemon = [] def move(self,pkmn): self.pokemon.append(pkmn) def get(self): return self.pokemon @classmethod def fromList(cls,l): ret = cls() ret.pokemon = l return ret class PokemonGame: """A game of Pokemon. Up to 6 mons, 300000 pokeyen, and 4 moves per Pokemon.""" def __init__(self,owner,prompt): self.setupPKMNList() try: with open(os.path.join("/home/minerobber/.pkmn/",owner+".json"),"r") as f: self.data = json.load(f) self.name = self.data["name"] self.pokeyen = self.data["pokeyen"] self.pkmn = self.data["pkmn"] self.pc = [] for item in self.data["boxes"]: self.pc.append(PCBox.fromList(item)) except IOError as e: self.name = prompt() self.pokeyen = 3000 self.pkmn = [] self.pc = [PCBox()]*20 def addPKMN(self,type): if len(self.pkmn)==6: return False self.pkmn.append(copy.copy(self.pkmnl[type])) def setupPKMNList(self): self.pkmnl = Pokemon() self.pkmnl.add(name="Charmander",maxhp=39,atk=52,dfn=43,spa=60,sde=50,speed=65,evolves=dict(at=16,to="Charmeleon")) self.pkmnl.add(name="Charmeleon")