Ejemplo n.º 1
0
    def __init__(self,name,password,indicador_nuevo):
        #usuario elige si es un nuevo jugador o no (indicado_nuevo)
        #En el caso de que no lo sea se debe veridicar previamente si es que pass y name son correctos
           
        if indicador_nuevo==False:
            #leemos el json del jugador seleccionado
            dict_jugador=jsonReader.jsonToDict(str(name)+'.json')['id_jugador']
            self.name=dict_jugador['name']
            self.password=dict_jugador['password']
            self.medals=dict_jugador['medals']
            self.money=dict_jugador['money']
            self.team=dict_jugador['team']
            self.battles=dict_jugador['battles']
            self.qty_prograbolas=dict_jugador['qty_prograbolas']
            self.programon=[]
            ##generar metodo que genere de diccionario a programon
            for dict_mono in dict_jugador['programon']:
                self.programon.append(Programon(dict_mono['id'],dict_mono['level'],dict_mono['iv'],dict_mono['ev']))

            self.progradex=dict_jugador['progradex']
            ##generar metodo en ciudad o ruta que entregue intancia a partir de dict
            self.actual_location=dict_jugador['actual_location']
        

        else:
            #inicializamos un jugador desde cero
            self.name=name
            self.password=password
            self.medals=[]
            self.money=1000
            list_programones=jsonReader.jsonToDict('programones.json')
            #consultar que pokemon inicial quiere
            while True:
                pokemon_inicial=input('Selecciona un programon inicial:\n (0) Charmander \n (1) Squirtle \n (2) Bulbasaur :\n')
                if pokemon_inicial=='0':
                    nombre_inicial="Charmander"
                    break
                elif pokemon_inicial=='1':
                    nombre_inicial="Squirtle"
                    break
                elif pokemon_inicial=='2':
                    nombre_inicial="Bulbasaur"
                    break
                else:
                    print('Selecione un numero válido')
            #realizar clase de creación de programon para inicilizar
            dict_programon =[programon for programon in list_programones if programon['name']==nombre_inicial][0]
            #realizar clase de creación de programon para inicilizar self.programones
            self.programon=[Programon(dict_programon['id'],level=5)]
            #Definimos el team como una lista con los id de cada programon
            self.team=[dict_programon['id']]
            #se inicia la lista de progradex con el pokemon elegido
            self.progradex=[dict_programon['id']]
            #batallas lista de diccionarios de registros
            self.battles=[]
            self.qty_prograbolas=10
            # crear instancia de ciudad pueblo paleta  
            self.actual_location=0
Ejemplo n.º 2
0
def ultima_ciudad(ciudad):
    rutas = jsonToDict("routes.json")
    ultima = True
    for ruta in rutas:
        if ciudad == ruta["starting_point"]:
            ultima = False
    return ultima
Ejemplo n.º 3
0
 def __init__(self,id,level,iv=random.randint(0,15),ev=random.randint(0,65535)):
     #buscamos el diccionario del programon en programones.json
     dict_programon=[programon for programon in jsonReader.jsonToDict('programones.json') if programon['id']==id][0]
     self.id=dict_programon['id']
     self.type=dict_programon['type']
     self.level=level
     self.name=dict_programon['name']
     #asignar evolucion si es que tiene en el caso de que no tenga entregar none
     if 'evolveLevel' in dict_programon.keys():
         self.evolveLevel=dict_programon['evolveLevel']
         self.evolveTo=dict_programon['evolveTo']
     #se dejara como none en los que no tengan evolucion
     else:
         self.evolveLevel=None
         self.evolveTo=None
     self.base_hp=dict_programon['hp']
     self.base_special_defense=dict_programon['special_defense']
     self.base_special_attack=dict_programon['special_attack']
     self.base_defense=dict_programon['defense']
     self.base_attack=dict_programon['attack']
     self.base_speed=dict_programon['speed']
     self.moves=dict_programon['moves']
     self.iv=iv
     self.ev=ev
     self.peleo=False
Ejemplo n.º 4
0
def evolucion(id):
        if id:
            lista_programones = jsonToDict("programones.json")
            for p in lista_programones:
                if str(p["id"]) == str(id):
                    return p["name"]
        return "No evoluciona."
Ejemplo n.º 5
0
def display_progradex(jugador):
    progradex = jugador.progradex
    vistos = progradex.programones_vistos
    atrapados = jugador.progradex.programones_atrapados
    lista_programones = jsonToDict("programones.json")
    if len(atrapados) > 0:
        print("\nProgramones capturados: ")
    for nombre in atrapados:
        for programon in lista_programones:
            if nombre == programon["name"]:
                print("\nNombre: " + str(programon["name"]))
                print(" ID: " + str(programon["id"]))
                print(" Type: " + str(programon["type"]))
                print(" HP: " + str(programon["hp"]))
                print(" Speed: " + str(programon["speed"]))
                print(" Attack: " + str(programon["attack"]))
                print(" Special Attack: " + str(programon["special_attack"]))
                print(" Defense: " + str(programon["defense"]))
                print(" Special Defense: " + str(programon["special_defense"]))
                print(" Evolve To: " + str(evolucion(programon.get("evolveTo"))))
                print(" Evolve Level: " + str(programon.get("evolveLevel")))
    if len(vistos) > 0:
        print("\nProgramones vistos: ")
    for nombre in vistos:
        for programon in lista_programones:
            if nombre == programon["name"]:
                print("\nNombre: " + str(programon["name"]))
                print(" ID: " + str(programon["id"]))
Ejemplo n.º 6
0
 def __init__(self,route,i):
     rout_dict=[ruta for ruta in jsonReader.jsonToDict('routes.json') if ruta['route']==route][0]
     self.starting_point=rout_dict['starting_point']
     self.destination=rout_dict['destination']
     self.name=rout_dict['route']
     self.levels=rout_dict['levels']
     self.pos=i
Ejemplo n.º 7
0
    def __init__(self, mode_test=False):

        self.mode_test = mode_test

        # Diccionario
        self.pal_data = jsonReader.jsonToDict(PATH_DATA)

        # Listas
        self.pal_user = tuple(jsonReader.jsonToDict(PATH_USER_LESSON))
        self.list_pal_mistaken = list()
        self.list_pal_seccion = tuple()

        self.mode_repeat = False
        self.mode_seccion = False

        self.score = 0
        self.pal_hechas = 0
Ejemplo n.º 8
0
def password_correcta(nombre, password):
    password = str(password)
    nombre = str(nombre)
    lista_jugadores = jsonToDict("jugadores.json")
    password_correcta = False
    for jugador in lista_jugadores:
        if password == jugador["password"] and nombre == jugador["nombre"]:
            password_correcta = True
    return password_correcta
Ejemplo n.º 9
0
 def __init__(self,move):
     #lista de todos lo moves lista de diccionarios
     lista_moves=jsonReader.jsonToDict('programonMoves.json')
     dict_mov=[i for i in lista_moves if i['name']==move][0]
     self.pp=dict_mov['pp']
     self.accuracy=dict_mov['accuracy']
     self.type=dict_mov['type']
     self.power=dict_mov['power']
     self.name=dict_mov['name']
Ejemplo n.º 10
0
 def __init__(self,id):
     if id==0:
         self.name='Pallet Town'
         self.id=0
         self.leader=None
         self.trainers=None
     else:
         city_dict=[city for city in jsonReader.jsonToDict('gyms.json') if city['id']==id][0]
         self.name=city_dict['city']
         self.id=city_dict['id']
         self.leader=city_dict['leader']
         self.trainers=city_dict['trainers']
Ejemplo n.º 11
0
    def __init__(self, pal_user):

        self.pal_user = pal_user
        self.pal_data = jsonReader.jsonToDict(PATH_DATA)
        for key in self.pal_user:
            del self.pal_data[key]

        self.attr_pal = ['Definition', 'Translation', 'Example']
        self.mode_repeat = False

        self.score = 0
        self.pal_hechas = 0
Ejemplo n.º 12
0
def guardar_info_jugador(jugador):
    data = jsonToDict("jugadores.json")
    for player in data:
        if player["nombre"] == jugador.nombre:
            data.remove(player)
    dict_jugador = {}
    dict_jugador["id"] = jugador.id
    dict_jugador["nombre"] = jugador.nombre
    dict_jugador["dinero"] = jugador.dinero
    dict_jugador["medallas"] = jugador.medallas
    dict_jugador["gyms"] = jugador.gyms
    dict_jugador["password"] = jugador.password
    dict_jugador["ubicacion"] = jugador.ubicacion
    dict_jugador["prograbolas"] = jugador.prograbolas
    dict_jugador["PC"] = jugador.PC
    team = jugador.equipo
    team2 = []
    for programon in team:
        dict_programon = {}
        dict_programon["name"] = programon.name
        dict_programon["unique_id"] = programon.unique_id
        dict_programon["level"] = programon.level
        dict_programon["IV"] = programon.IV
        dict_programon["EV"] = programon.EV
        team2.append(dict_programon)
    dict_jugador["equipo"] = team2
    batallas2 = []
    for batalla in jugador.batallas:
        batalla_i = {}
        batalla_i["victoria"] = batalla.victoria
        batalla_i["tipo"] = batalla.tipo
        if batalla.entrenador:
            batalla_i["entrenador"] = str(batalla.entrenador)
        batalla_i["programon_enemigo"] = batalla.programon_enemigo
        batalla_i["equipo"] = batalla.equipo
        batalla_i["dinero"] = batalla.dinero
        batallas2.append(batalla_i)
    dict_jugador["batallas"] = batallas2
    vistos = jugador.progradex.programones_vistos
    vistos2 = []
    for programon in vistos:
        vistos2.append(programon)
    atrapados = jugador.progradex.programones_atrapados
    atrapados2 = []
    for programon in atrapados:
        atrapados2.append(programon)
    dict_aux = {}
    dict_aux["vistos"] = vistos2
    dict_aux["atrapados"] = atrapados2
    dict_jugador["progradex"] = dict_aux
    data.append(dict_jugador)
    dictToJson("jugadores.json", data)
Ejemplo n.º 13
0
 def __init__(self, city, leader, name=None):
     dict_city=[dict for dict in jsonReader.jsonToDict('gyms.json') if dict['city']==city][0]
     if leader==True:
         dict_trainer=dict_city['leader']
     else:
         dict_trainer= [dict for dict in dict_city['trainers'] if dict['name']==name][0]
     self.name=dict_trainer['name']
     self.programon=[Programon(programon['id'],programon['level']) for programon in dict_trainer['programones']]
     self.team=[programon['id'] for programon in dict_trainer['programones']]
     if leader==True:
         self.leader=True
     else:
         self.leader=False
Ejemplo n.º 14
0
 def __init__(self, nombre, password, id, ubicacion=None, progradex=None, PC=None, prograbolas=None, batallas=None,
              dinero=None, gyms=None):
     self.id = id
     self.nombre = nombre
     self.password = password
     self.medallas = []
     if dinero:
         self.dinero = dinero
     else:
         self.dinero = 1000
     if progradex:
         self.progradex = progradex
     else:
         self.progradex = Progradex()
     if PC:
         self.PC = PC
     else:
         self.PC = []
     self.equipo = []
     if prograbolas:
         self.prograbolas = prograbolas
     else:
         self.prograbolas = 10
     if batallas:
         self.batallas = batallas
     else:
         self.batallas = []
     if ubicacion:
         self.ubicacion = ubicacion
     else:
         self.ubicacion = ["Pallet Town", 0]
     if gyms:
         self.gyms = gyms
     else:
         self.gyms = []
         lista_gimnasios = jsonToDict("gyms_creados.json")
         for gimnasio in lista_gimnasios:
             gimnasio_i = {}
             gimnasio_i["lucho"] = False
             gimnasio_i["name"] = gimnasio["name"]
             gimnasio_i["leader"] = False
             trainers = []
             for trainer in gimnasio["trainers"]:
                 trainer_dict = {}
                 trainer_dict["name"] = trainer["name"]
                 trainer_dict["unique_id"] = trainer["unique_id"]
                 trainer_dict["gano"] = False
                 trainers.append(trainer_dict)
             gimnasio_i["trainers"] = trainers
             self.gyms.append(gimnasio_i)
Ejemplo n.º 15
0
    def programon_factible_route(self):
        #límites de la ruta
        low_limit=mapa[self.actual_location].levels[0]
        up_limit=mapa[self.actual_location].levels[1]

        list_programones=jsonReader.jsonToDict('programones.json')
        #programones con evolucion
        programones_ce=[i for i in list_programones if 'evolveTo' in i.keys()]
        #programones sin evolucion
        programones_se=[i for i in list_programones if not('evolveTo' in i.keys())]
        list_programones_factibles=[]
        #retorna el pokemon anterior a el si es que tiene
        def evolucion_de(programon,list_programones):
            viene_de=None
            for i in list_programones:
                if programon['id']==i['evolveTo']:
                    viene_de=i
            return viene_de

        #los que tienen evolucion
        for programono in programones_ce:
            #si no es evolucion de nadie y su nivel de evolucion es mayor a low
            if evolucion_de(programono,programones_ce)==None and programono['evolveLevel']>low_limit:
                arriba=min(up_limit,programono['evolveLevel'])
                abajo=low_limit
                list_programones_factibles.append((abajo,arriba,programono))
            #si es evolucion de alguien y su nivel de evolucion es mayor a low 
            elif programono['evolveLevel']>low_limit and evolucion_de(programono,programones_ce)!=None:
                arriba=min(up_limit,programono['evolveLevel'])
                abajo=max(evolucion_de(programono,programones_ce)['evolveLevel'],low_limit)
                list_programones_factibles.append((abajo,arriba,programono))
        # para programon sin evolucion
        for programono in programones_se:
            if evolucion_de(programono,programones_ce)==None:
                #si no es evolucion de alguien
                arriba=up_limit
                abajo=low_limit
                list_programones_factibles.append((abajo,arriba,programono))
            elif evolucion_de(programono,programones_ce)!=None and evolucion_de(programono,programones_ce)['evolveLevel']<up_limit:
                # es evolucion de alguien
                arriba=up_limit
                abajo=max(evolucion_de(programono,programones_ce)['evolveLevel'],low_limit)
                list_programones_factibles.append((abajo,arriba,programono))
        #Elegir un progrmamon al azar
        random_programon=random.choice(list_programones_factibles)
        random_nivel=random.randint(random_programon[0],random_programon[1])
        id=random_programon[2]['id']

        return Programon(id,random_nivel)
Ejemplo n.º 16
0
 def calculo_daño(self,p_atacante,p_defensor):
     #calculamos el modificador primero
     #potenciador si ataque es del mismo tipo que el programon que ataca
     STAB= 1.5 if self.type==p_atacante.type else 1
     #modificador de daños segun tipo del ataque y tipo de programon defensor
     lista_types=jsonReader.jsonToDict('types.json')
     Tipo=lista_types[self.type][p_defensor.type] if p_defensor.type in lista_types[self.type].keys() else 1 
     #factor de ataque crítico
     T=p_atacante.base_speed/2
     P=random.randint(0, 256)
     Critico= 2 if P<=T else 1
     #numero random de ataque
     num_random=random.randint(85,100)/100
     #valor modificador
     modificador=STAB*Tipo*Critico*num_random
     #definir si es que el ataque es de algún tipo especial        
     dict_category=jsonReader.jsonToDict('moveCategories.json')
     especial=True if self.type in dict_category["special_moves"] else False
     #calculo daño
     if especial:
         daño=((2*p_atacante.level+10)/250*(p_atacante.special_attack/p_defensor.special_defense)*self.power+2)*modificador
     else:
         daño=((2*p_atacante.level+10)/250*(p_atacante.attack/p_defensor.defense)*self.power+2)*modificador
     return daño
Ejemplo n.º 17
0
def guardar_info_gimnasio(gym):
    data = jsonToDict("gyms_creados.json")
    for gim in data:
        if gim["name"] == gym.name:
            data.remove(gim)
    dict_gym = {}
    dict_gym["id"] = gym.id
    dict_gym["name"] = gym.name
    dict_lider_gym = {}
    dict_lider_gym["name"] = gym.leader.name
    dict_lider_gym["unique_id"] = gym.leader.unique_id
    programones_lider = []
    for programon in gym.leader.programones:
        dict_programon = {}
        dict_programon["name"] = programon.name
        dict_programon["unique_id"] = programon.unique_id
        dict_programon["level"] = programon.level
        dict_programon["IV"] = programon.IV
        dict_programon["EV"] = programon.EV
        programones_lider.append(dict_programon)
    dict_lider_gym["programones"] = programones_lider
    dict_gym["leader"] = dict_lider_gym
    entrenadores = []
    for trainer in gym.trainers:
        dict_trainer = {}
        dict_trainer["name"] = trainer.name
        dict_trainer["unique_id"] = trainer.unique_id
        programones_trainer = []
        for programon in trainer.programones:
            dict_programon = {}
            dict_programon["name"] = programon.name
            dict_programon["unique_id"] = programon.unique_id
            dict_programon["level"] = programon.level
            dict_programon["IV"] = programon.IV
            dict_programon["EV"] = programon.EV
            programones_trainer.append(dict_programon)
        dict_trainer["programones"] = programones_trainer
        entrenadores.append(dict_trainer)
    dict_gym["trainers"] = entrenadores
    data.append(dict_gym)
    dictToJson("gyms_creados.json", data)
Ejemplo n.º 18
0
    def __init__(self):

        # Diccionarios
        self.pal_data = jsonReader.jsonToDict(PATH_DATA)
        self.pal_user = jsonReader.jsonToDict(PATH_USER_LESSON)
        self.attr_pal = ['Definition', 'Translation', 'Example']
Ejemplo n.º 19
0
    def __init__(self):

        # Diccionarios
        self.pal_data = jsonReader.jsonToDict(PATH_DATA)
        self.pal_user = jsonReader.jsonToDict(PATH_USER_LESSON)
Ejemplo n.º 20
0
def ruta_ciudad(ciudad):
    rutas = jsonToDict("routes.json")
    for ruta in rutas:
        if ruta["starting_point"] == ciudad:
            return ruta["route"]
Ejemplo n.º 21
0
import jsonReader as Js
import random
import math as m
import ClasesProgramonRojo as CpR

DictProgramones = Js.jsonToDict("programones.json")
DictGyms = Js.jsonToDict("gyms.json")
DictProgramonesMoves = Js.jsonToDict("programonMoves.json")
DictRoutes = Js.jsonToDict("routes.json")
DictTypes = Js.jsonToDict("types.json")
DictMoveCategories = Js.jsonToDict("moveCategories.json")
Jugador_actual = CpR.Jugador(None, None, None)
Programon_actual_salvaje = None
dicc_progradex = {}
Contrincante_actual = None

lista_de_todos_programones = []
lista_de_todos_moves = []
lista_de_todos_los_gimnasios = []
lista_de_todas_las_rutas = []
lista_categoria_physic = None
lista_categoria_special = None
lista_de_todos_los_jugadores = []
lista_de_todas_las_ciudades = []

mapa = []

i = 0
for diccionari in DictProgramonesMoves:
    puntos_de_poder_aux = None
    tipo_aux = None
Ejemplo n.º 22
0
        name = input('Cual es tu nombre:\n')
        while True:
            password = input('Crea una contraseña:\n')
            verificar = input('Confirma tu contraseña:\n')
            if password == verificar:
                jugador = clases.Jugador(name, password, True)
                break
            else:
                print('Fallaste en verificar tu contraseña\n')
        break
    elif opcion == '1':
        name = input('Cual es tu nombre:\n')
        while True:
            password = input('Cual es la contraseña de la partida\n')
            try:
                dict_jugador = jsonReader.jsonToDict(str(name) +
                                                     '.json')['id_jugador']
            except:
                print('Partida no existe\n')
            if dict_jugador['password'] == password:
                jugador = clases.Jugador(name, password, False)
                print('Partida cargada\n')
                break
            else:
                print('Contraseña incorrecta\n')
                continue
        break

    else:
        print('opcion inválida\n')
print('\n\n')
while True:
Ejemplo n.º 23
0
import jsonReader as Js
import random
import math as m
import ClasesProgramonRojo as CpR


DictProgramones = Js.jsonToDict("programones.json")
DictGyms = Js.jsonToDict("gyms.json")
DictProgramonesMoves = Js.jsonToDict("programonMoves.json")
DictRoutes = Js.jsonToDict("routes.json")
DictTypes = Js.jsonToDict("types.json")
DictMoveCategories = Js.jsonToDict("moveCategories.json")
Jugador_actual = CpR.Jugador(None, None, None)
Programon_actual_salvaje = None
dicc_progradex = {}
Contrincante_actual = None

lista_de_todos_programones = []
lista_de_todos_moves = []
lista_de_todos_los_gimnasios = []
lista_de_todas_las_rutas = []
lista_categoria_physic = None
lista_categoria_special = None
lista_de_todos_los_jugadores = []
lista_de_todas_las_ciudades = []


mapa = []

i = 0
for diccionari in DictProgramonesMoves:
Ejemplo n.º 24
0
def llegar_ciudad2(jugador):
    opciones = input("\nQue opcion desea?: \n"
                     " 1. Retroceder\n"
                     " 2. Comprar prograbolas\n"
                     " 3. Ir a centro programon\n"
                     " 4. Ir a gimnasio\n"
                     " 5. Volver al menu anterior\n"
                     "Su opcion: ")

    while opciones != "5":
        if opciones == "1":
            jugador.ubicacion[0] = ciudad_anterior(jugador.ubicacion[0])
            jugador.ubicacion[1] = 3
            print("\nAhora usted se encuentra en Ruta {} Parte 3.".format(ruta_ciudad(jugador.ubicacion[0])))
            enemigo = encontrar_programon(jugador)
            if enemigo:
                if not(enemigo.name in jugador.progradex.programones_vistos):
                    jugador.progradex.agregar_visto(enemigo.name)
                print("\nUn " + str(enemigo.name) + " salvaje ha aparecido!")
                batalla_salvaje(jugador, enemigo)
                break
            else:
                break

        elif opciones == "2":
            cantidad = input("\nBienvenido a la tienda programon.\n"
                             "Ingrese el numero de prograbolas que desea: ")
            if cantidad == "0":
                print("\nQue vuelva pronto!")
                opciones = input("\nQue opcion desea?: \n"
                                 " 1. Retroceder\n"
                                 " 2. Comprar prograbolas\n"
                                 " 3. Ir a centro programon\n"
                                 " 4. Ir a gimnasio\n"
                                 " 5. Volver al menu anterior\n"
                                 "Su opcion: ")
            else:
                while not (cantidad.isdigit() and int(cantidad) >= 0 and int(cantidad) * 500 <= jugador.dinero):
                    if cantidad == "0":
                        break

                    elif not (cantidad.isdigit() and int(cantidad) >= 0):
                        cantidad = input("\nIngrese un numero valido: ")

                    elif int(cantidad) * 500 > jugador.dinero:
                        cantidad = input("\nNo tiene dinero suficiente para comprar todas esas prograbolas.\n"
                                         "Elija un numero menor: ")

                if cantidad == "0":
                    print("\nQue vuelva pronto!")
                else:
                    print("\nHa comprado {0} prograbolas por un total de {1} yenes.".format(cantidad,
                                                                                            str(int(cantidad) * 500)))
                    jugador.dinero -= int(cantidad) * 500
                    jugador.prograbolas += int(cantidad)

                opciones = input("\nQue opcion desea?: \n"
                                 " 1. Retroceder\n"
                                 " 2. Comprar prograbolas\n"
                                 " 3. Ir a centro programon\n"
                                 " 4. Ir a gimnasio\n"
                                 " 5. Volver al menu anterior\n"
                                 "Su opcion: ")

        elif opciones == "3":
            eleccion = input("\nBienvenido al PC de Bastian.\n"
                             "Elija una opcion:\n"
                             " 1. Retirar programon\n"
                             " 2. Guardar programon\n"
                             " 3. Volver al menu anterior\n"
                             "Su opcion: ")

            if eleccion == "3":
                print("\nHasta pronto.")
                opciones = input("\nQue opcion desea?: \n"
                                 " 1. Retroceder\n"
                                 " 2. Comprar prograbolas\n"
                                 " 3. Ir a centro programon\n"
                                 " 4. Ir a gimnasio\n"
                                 " 5. Volver al menu anterior\n"
                                 "Su opcion: ")

            else:
                while eleccion != "3":
                    if eleccion == "1":
                        if len(jugador.PC) == 0:
                            print("\nNo tiene programones en PC para retirar.")
                            eleccion = input("\nElija una opcion:\n"
                                             " 1. Retirar programon\n"
                                             " 2. Guardar programon\n"
                                             " 3. Volver al menu anterior\n"
                                             "Su opcion: ")

                        elif len(jugador.equipo) == 6:
                            print("\n Su equipo esta lleno, no puede retirar programones del PC.")
                            eleccion = input("\nElija una opcion:\n"
                                             " 1. Retirar programon\n"
                                             " 2. Guardar programon\n"
                                             " 3. Volver al menu anterior\n"
                                             "Su opcion: ")

                        else:
                            print("\nElija un programon de su PC: ")
                            contador = 1
                            for programon in jugador.PC:
                                print(" " + str(contador) + ". " + str(programon["name"]))
                                contador += 1
                            guerrero = input("Su opcion: ")
                            while not(guerrero.isdigit() and 0 < int(guerrero) <= len(jugador.PC)):
                                guerrero = input("\nIngrese una opcion valida: ")
                            programon_elegido = jugador.PC[int(guerrero)-1]
                            jugador.PC.remove(programon_elegido)
                            IV = programon_elegido["IV"]
                            EV = programon_elegido["EV"]
                            level = programon_elegido["level"]
                            nombre = programon_elegido["name"]
                            unique_id = programon_elegido["unique_id"]
                            programones_lista = jsonToDict("programones.json")
                            for poke in programones_lista:
                                if poke["name"] == nombre:
                                    id = poke["id"]
                                    moves = poke["moves"]
                                    type = poke["type"]
                                    hp = poke["hp"]
                                    speed = poke["speed"]
                                    attack = poke["attack"]
                                    special_attack = poke["special_attack"]
                                    defense = poke["defense"]
                                    special_defense = poke["special_defense"]
                                    evolveTo = poke.get("evolveTo")
                                    evolveLevel = poke.get("evolveLevel")
                            programon_creado = Programon(id, unique_id, moves, nombre, type, hp, speed, attack,
                                                       special_attack, defense, special_defense, level, evolveLevel,
                                                       evolveTo, IV, EV)
                            jugador.equipo.append(programon_creado)
                            print("\n {} se ha sumado a su equipo!".format(programon_creado.name))
                            eleccion = input("\nElija una opcion:\n"
                                             " 1. Retirar programon\n"
                                             " 2. Guardar programon\n"
                                             " 3. Volver al menu anterior\n"
                                             "Su opcion: ")

                    elif eleccion == "2":
                        if len(jugador.equipo) > 1:
                            print("\nElija un programon de su equipo para guardar: ")
                            contador = 1
                            for programon in jugador.equipo:
                                print(" " + str(contador) + ". " + str(programon.name))
                                contador += 1
                            guerrero = input("Su opcion: ")
                            while not(guerrero.isdigit() and 0 < int(guerrero) <= len(jugador.equipo)):
                                guerrero = input("\nIngrese una opcion valida: ")
                            programon_elegido = jugador.equipo[int(guerrero)-1]
                            jugador.equipo.remove(programon_elegido)
                            dic_aux = {}
                            dic_aux["name"] = programon_elegido.name
                            dic_aux["unique_id"] = programon_elegido.unique_id
                            dic_aux["EV"] = programon_elegido.EV
                            dic_aux["IV"] = programon_elegido.IV
                            dic_aux["level"] = programon_elegido.level
                            jugador.PC.append(dic_aux)
                            print("\nSe ha agregado {} al PC".format(programon_elegido.name))

                            eleccion = input("\nElija una opcion:\n"
                                             " 1. Retirar programon\n"
                                             " 2. Guardar programon\n"
                                             " 3. Volver al menu anterior\n"
                                             "Su opcion: ")
                        else:
                            print("\nSolo tiene un programon.")
                            print("No puede guardarlo o quedara sin programones para defenderse.")

                            eleccion = input("\nElija una opcion:\n"
                                             " 1. Retirar programon\n"
                                             " 2. Guardar programon\n"
                                             " 3. Volver al menu anterior\n"
                                             "Su opcion: ")

                    elif eleccion == "3":
                        break

                    else:
                        eleccion = input("\nIngrese una opcion valida:\n"
                                         " 1. Retirar programon\n"
                                         " 2. Guardar programon\n"
                                         " 3. Volver al menu anterior\n"
                                         "Su opcion: ")

                print("\nHasta pronto.")
                opciones = input("\nQue opcion desea?: \n"
                                 " 1. Retroceder\n"
                                 " 2. Comprar prograbolas\n"
                                 " 3. Ir a centro programon\n"
                                 " 4. Ir a gimnasio\n"
                                 " 5. Volver al menu anterior\n"
                                 "Su opcion: ")

        elif opciones == "4":
            llegar_gimnasio(jugador)
            opciones = input("\nQue opcion desea?: \n"
                             " 1. Retroceder\n"
                             " 2. Comprar prograbolas\n"
                             " 3. Ir a centro programon\n"
                             " 4. Ir a gimnasio\n"
                             " 5. Volver al menu anterior\n"
                             "Su opcion: ")

        elif opciones == "5":
            break

        else:
            print("\nOpcion no valida. Elija otra.")
            opciones = input("\nQue opcion desea?: \n"
                             " 1. Retroceder\n"
                             " 2. Comprar prograbolas\n"
                             " 3. Ir a centro programon\n"
                             " 4. Ir a gimnasio\n"
                             " 5. Volver al menu anterior\n"
                             "Su opcion: ")
Ejemplo n.º 25
0
def ciudad_anterior(ciudad):
    rutas = jsonToDict("routes.json")
    for ruta in rutas:
        if ruta["destination"] == ciudad:
            return ruta["starting_point"]
Ejemplo n.º 26
0
def lista_programones():
    return jsonToDict("programones.json")
Ejemplo n.º 27
0
def cargar_info_gimnasio(nombre_gimnasio):
    gimnasios_existentes = jsonToDict("gyms_creados.json")
    for gimnasio in gimnasios_existentes:
        if gimnasio["name"] == nombre_gimnasio:
            name_gym = gimnasio["name"]
            id_gym = gimnasio["id"]
            dict_leader = gimnasio["leader"]
            leader_name = dict_leader["name"]
            leader_id = dict_leader["unique_id"]
            leader_programones = dict_leader["programones"]
            leader_programones2 = []
            for programon in leader_programones:
                unique_id = programon["unique_id"]
                IV = programon["IV"]
                level = programon["level"]
                EV = programon["EV"]
                nombre_programon = programon["name"]
                programones = jsonToDict("programones.json")
                for poke in programones:
                    if poke["name"] == nombre_programon:
                        id = poke["id"]
                        moves = poke["moves"]
                        type = poke["type"]
                        hp = poke["hp"]
                        speed = poke["speed"]
                        attack = poke["attack"]
                        special_attack = poke["special_attack"]
                        defense = poke["defense"]
                        special_defense = poke["special_defense"]
                        evolveTo = poke.get("evolveTo")
                        evolveLevel = poke.get("evolveLevel")
                programon_creado = Programon(id, unique_id, moves, nombre_programon, type, hp, speed, attack,
                                             special_attack, defense, special_defense, level, evolveLevel, evolveTo,
                                             IV, EV)
                leader_programones2.append(programon_creado)
            lider = Entrenador(leader_name, leader_programones2, leader_id)
            dict_trainers = gimnasio["trainers"]
            entrenadores = []
            for trainer in dict_trainers:
                trainer_name = trainer["name"]
                trainer_id = trainer["unique_id"]
                trainer_programones = trainer["programones"]
                trainer_programones2 = []
                for programon in trainer_programones:
                    unique_id = programon["unique_id"]
                    IV = programon["IV"]
                    level = programon["level"]
                    EV = programon["EV"]
                    nombre_programon = programon["name"]
                    programones = jsonToDict("programones.json")
                    for poke in programones:
                        if poke["name"] == nombre_programon:
                            id = poke["id"]
                            moves = poke["moves"]
                            type = poke["type"]
                            hp = poke["hp"]
                            speed = poke["speed"]
                            attack = poke["attack"]
                            special_attack = poke["special_attack"]
                            defense = poke["defense"]
                            special_defense = poke["special_defense"]
                            evolveTo = poke.get("evolveTo")
                            evolveLevel = poke.get("evolveLevel")
                    programon_creado = Programon(id, unique_id, moves, nombre_programon, type, hp, speed, attack,
                                                 special_attack, defense, special_defense, level, evolveLevel,
                                                 evolveTo, IV, EV)
                    trainer_programones2.append(programon_creado)
                entrenador_i = Entrenador(trainer_name, trainer_programones2, trainer_id)
                entrenadores.append(entrenador_i)
            gimnasio = Gimnasio(name_gym, id_gym, lider, entrenadores)
            return gimnasio
Ejemplo n.º 28
0
def crear_gyms():
    gimnasios = jsonToDict("gyms.json")
    for gimnasio in gimnasios:
        nombre = gimnasio["city"]
        id = gimnasio["id"]
        leader_dict = gimnasio["leader"]
        leader_programones = leader_dict["programones"]
        lider_programones = []
        lista_programones = jsonToDict("programones.json")
        for programon_lider in leader_programones:
            for programon in lista_programones:
                if programon_lider["id"] == programon["id"]:
                    id = programon["id"]
                    unique_id = numero_programones()
                    moves = programon["moves"]
                    name = programon["name"]
                    type = programon["type"]
                    hp = programon["hp"]
                    speed = programon["speed"]
                    attack = programon["attack"]
                    special_attack = programon["special_attack"]
                    defense = programon["defense"]
                    special_defense = programon["special_defense"]
                    level = programon_lider["level"]
                    evolveTo = programon.get("evolveTo")
                    evolveLevel = programon.get("evolveLevel")
                    programon_creado = Programon(id, unique_id, moves, name, type, hp, speed, attack,
                                                 special_attack, defense, special_defense, level, evolveLevel,
                                                 evolveTo)
                    actualizar_numero_programones()
                    lider_programones.append(programon_creado)
        lider = Entrenador(leader_dict["name"], lider_programones)
        trainers = gimnasio["trainers"]
        entrenadores = []
        for trainer in trainers:
            trainer_programones_dict = trainer["programones"]
            trainer_programones = []
            for programon_trainer in trainer_programones_dict:
                for programon in lista_programones:
                    if programon_trainer["id"] == programon["id"]:
                        id = programon["id"]
                        unique_id = numero_programones()
                        moves = programon["moves"]
                        name = programon["name"]
                        type = programon["type"]
                        hp = programon["hp"]
                        speed = programon["speed"]
                        attack = programon["attack"]
                        special_attack = programon["special_attack"]
                        defense = programon["defense"]
                        special_defense = programon["special_defense"]
                        level = programon_trainer["level"]
                        evolveTo = programon.get("evolveTo")
                        evolveLevel = programon.get("evolveLevel")
                        programon_creado = Programon(id, unique_id, moves, name, type, hp, speed, attack,
                                                     special_attack,defense, special_defense, level,
                                                     evolveLevel, evolveTo)
                        actualizar_numero_programones()
                        trainer_programones.append(programon_creado)
            entrenador_i = Entrenador(trainer["name"], trainer_programones)
            entrenadores.append(entrenador_i)
        gimnasio = Gimnasio(nombre, id, lider, entrenadores)
        guardar_info_gimnasio(gimnasio)
Ejemplo n.º 29
0
def cargar_jugador(nombre):
    lista_jugadores = jsonToDict("jugadores.json")
    for jugador in lista_jugadores:
        if jugador["nombre"] == nombre:
            nombre_jugador = nombre
            password = jugador["password"]
            id_jugador = jugador["id"]
            dinero = jugador["dinero"]
            ubicacion = jugador["ubicacion"]
            prograbolas = jugador["prograbolas"]
            PC = jugador["PC"]
            batallas = []
            batallas_aux = jugador["batallas"]
            for batalla in batallas_aux:
                victoria_i = batalla["victoria"]
                tipo_i = batalla["tipo"]
                if batalla.get("entrenador"):
                    entrenador = batalla.get("entrenador")
                else:
                    entrenador = None
                programones_enemigo = []
                peleadores_enemigo = []
                for i in range(len(batalla["programon_enemigo"])):
                    programon_enemigo = batalla["programon_enemigo"][i]
                    IV_enemigo = programon_enemigo["IV"]
                    EV_enemigo = programon_enemigo["EV"]
                    level_enemigo = programon_enemigo["level"]
                    nombre_enemigo = programon_enemigo["name"]
                    unique_id_enemigo = programon_enemigo["unique_id"]
                    if programon_enemigo["peleo"]:
                        peleadores_enemigo.append(programon_enemigo["unique_id"])
                    programones_lista = jsonToDict("programones.json")
                    for poke in programones_lista:
                        if poke["name"] == nombre_enemigo:
                            id = poke["id"]
                            moves = poke["moves"]
                            type = poke["type"]
                            hp = poke["hp"]
                            speed = poke["speed"]
                            attack = poke["attack"]
                            special_attack = poke["special_attack"]
                            defense = poke["defense"]
                            special_defense = poke["special_defense"]
                            evolveTo = poke.get("evolveTo")
                            evolveLevel = poke.get("evolveLevel")
                    enemigo_creado = Programon(id, unique_id_enemigo, moves, nombre_enemigo, type, hp, speed, attack,
                                               special_attack, defense, special_defense, level_enemigo, evolveLevel,
                                               evolveTo, IV_enemigo, EV_enemigo)
                    programones_enemigo.append(enemigo_creado)
                equipo2 = []
                peleadores = []
                equipo_aux = batalla["equipo"]
                for programon in equipo_aux:
                    IV_i = programon["IV"]
                    EV_i = programon["EV"]
                    level_i = programon["level"]
                    nombre_i = programon["name"]
                    unique_id_i = programon["unique_id"]
                    if programon["peleo"]:
                        peleadores.append(unique_id_i)
                    programones_lista = jsonToDict("programones.json")
                    for poke in programones_lista:
                        if poke["name"] == nombre_i:
                            id = poke["id"]
                            moves = poke["moves"]
                            type = poke["type"]
                            hp = poke["hp"]
                            speed = poke["speed"]
                            attack = poke["attack"]
                            special_attack = poke["special_attack"]
                            defense = poke["defense"]
                            special_defense = poke["special_defense"]
                            evolveTo = poke.get("evolveTo")
                            evolveLevel = poke.get("evolveLevel")
                    programon_creado = Programon(id, unique_id_i, moves, nombre_i, type, hp, speed, attack,
                                               special_attack, defense, special_defense, level_i, evolveLevel,
                                               evolveTo, IV_i, EV_i)

                    equipo2.append(programon_creado)
                batalla_i = Batalla(victoria_i, tipo_i, programones_enemigo, equipo2, peleadores, entrenador,
                                    peleadores_enemigo)
                batallas.append(batalla_i)
            progradex = Progradex()
            aux = jugador["progradex"]
            name_vistos = aux["vistos"]
            name_atrapados = aux["atrapados"]
            for i in name_vistos:
                progradex.agregar_visto(i)
            for i in name_atrapados:
                progradex.agregar_atrapado(i)
            gyms = jugador["gyms"]
            nuevo_jugador = Jugador(nombre_jugador, password, id_jugador, ubicacion, progradex, PC, prograbolas,
                                    batallas, dinero, gyms)
            lista_programones_equipo = jugador["equipo"]
            lista_programones_equipo2 = []
            for programon in lista_programones_equipo:
                unique_id = programon["unique_id"]
                IV = programon["IV"]
                level = programon["level"]
                EV = programon["EV"]
                nombre_programon = programon["name"]
                programones = jsonToDict("programones.json")
                for poke in programones:
                    if poke["name"] == nombre_programon:
                        id = poke["id"]
                        moves = poke["moves"]
                        type = poke["type"]
                        hp = poke["hp"]
                        speed = poke["speed"]
                        attack = poke["attack"]
                        special_attack = poke["special_attack"]
                        defense = poke["defense"]
                        special_defense = poke["special_defense"]
                        evolveTo = poke.get("evolveTo")
                        evolveLevel = poke.get("evolveLevel")
                programon_creado = Programon(id, unique_id, moves, nombre_programon, type, hp, speed, attack,
                                             special_attack, defense, special_defense, level, evolveLevel, evolveTo,
                                             IV, EV)
                lista_programones_equipo2.append(programon_creado)
            for poke in lista_programones_equipo2:
                nuevo_jugador.agregar_programon(poke)
            return nuevo_jugador