minerbot/pokemon.py

55 lines
1.3 KiB
Python

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")