示例#1
0
 def set_ataque(self, atacante, defensor, ataque):
     ataque = ataque
     if not ataque.disponible:
         print("Este ataque no está disponible. Espere {} turnos".format(
             str(ataque.espera - ataque.turnos_espera)))
         return False
     if ataque.disponible:
         if not isinstance(ataque, Paralizer):
             mapa_enemigo = defensor.mapas_propios["M"]
         elif isinstance(ataque, Paralizer):
             mapa_enemigo = defensor.mapas_propios["A"]
         if not isinstance(ataque, Kamikaze):
             print("Atacará con {} [rango: {}] [daño: {}]".format(
                 ataque, ataque.size, ataque.damage))
         if isinstance(ataque, Kamikaze):
             print(
                 "Realizará un ataque kamikaze. Su avión se destruirá si acerta al objetivo"
             )
         coordenadas = input("Ingrese coordenadas: ")
         coordenada_ataque = None
         while not coordenada_ataque:
             coordenada_ataque = celdas.coord_to_index(coordenadas)
             ataque.coordenada_ataque = coordenada_ataque
         if isinstance(mapa_enemigo, MapaMar):
             return self.atacar_mar(atacante, ataque, mapa_enemigo)
         elif isinstance(mapa_enemigo, MapaAire):
             return self.atacar_aire(atacante, mapa_enemigo)
示例#2
0
 def explorar(self, jugador, vehiculo, defensor):
     ataque = vehiculo.ataques[0]
     coordenadas = input("Ingrese coordenadas: ")
     coordenada_ataque = None
     while not coordenada_ataque:
         coordenada_ataque = celdas.coord_to_index(coordenadas)
         ataque.coordenada_ataque = coordenada_ataque
     self.atacar_mar(jugador, ataque, defensor.mapas_propios["M"])
 def explorar(self, jugador, vehiculo, defensor):
     ataque = vehiculo.ataques[0]
     coordenadas = input("Ingrese coordenadas: ")
     coordenada_ataque = None
     while not coordenada_ataque:
         coordenada_ataque = celdas.coord_to_index(coordenadas)
         ataque.coordenada_ataque = coordenada_ataque
     self.atacar_mar(jugador, ataque, defensor.mapas_propios["M"])
示例#4
0
 def test_coord_to_index(self):
     assert celdas.coord_to_index("A3") == (2, 0)
     assert not celdas.coord_to_index("A16")
     assert not celdas.coord_to_index("13B")
     assert not celdas.coord_to_index("AA12")
     assert not celdas.coord_to_index("X1")
     assert celdas.coord_to_index("O15")
     assert not celdas.coord_to_index("1234")
 def posicionar_manual(self):
     vehiculos = self.vehiculos_disponibles
     for vehiculo in vehiculos.values():
         while not vehiculo.pos_actual:
             celda = None
             while not celda:
                 coordenada_ingresada = input("Ingrese coordenada para {}: ".format(vehiculo))
                 celda = celdas.coord_to_index(coordenada_ingresada)
             self.ubicar_elemento(vehiculo, celda)
     self.cerrar_mapa()
     self.mostrar_mapa(1)
     return True
 def posicionar_manual(self):
     vehiculos = self.vehiculos_disponibles
     for vehiculo in vehiculos.values():
         while not vehiculo.pos_actual:
             celda = None
             while not celda:
                 coordenada_ingresada = input(
                     "Ingrese coordenada para {}: ".format(vehiculo))
                 celda = celdas.coord_to_index(coordenada_ingresada)
             self.ubicar_elemento(vehiculo, celda)
     self.cerrar_mapa()
     self.mostrar_mapa(1)
     return True
 def mover_elemento(self, vehiculo):
     if not isinstance(vehiculo, Lancha):
         direccion = input("""
         Mover en dirección:
         Q   W   E
         A   -   D
         Z   X   C
         """).upper()
     if isinstance(vehiculo, Lancha):
         direccion = None
         while not direccion:
             direccion = celdas.coord_to_index(input("     Ingrese coordenadas de destino:"))
     self.ubicar_elemento(vehiculo, vehiculo.mover(direccion))
 def mover_elemento(self, vehiculo):
     if not isinstance(vehiculo, Lancha):
         direccion = input("""
         Mover en dirección:
         Q   W   E
         A   -   D
         Z   X   C
         """).upper()
     if isinstance(vehiculo, Lancha):
         direccion = None
         while not direccion:
             direccion = celdas.coord_to_index(
                 input("     Ingrese coordenadas de destino:"))
     self.ubicar_elemento(vehiculo, vehiculo.mover(direccion))
 def set_ataque(self, atacante, defensor, ataque):
     ataque = ataque
     if not ataque.disponible:
         print("Este ataque no está disponible. Espere {} turnos".format(str(ataque.espera - ataque.turnos_espera)))
         return False
     if ataque.disponible:
         if not isinstance(ataque, Paralizer):
             mapa_enemigo = defensor.mapas_propios["M"]
         elif isinstance(ataque, Paralizer):
             mapa_enemigo = defensor.mapas_propios["A"]
         if not isinstance(ataque, Kamikaze):
             print("Atacará con {} [rango: {}] [daño: {}]".format(ataque, ataque.size, ataque.damage))
         if isinstance(ataque, Kamikaze):
             print("Realizará un ataque kamikaze. Su avión se destruirá si acerta al objetivo")
         coordenadas = input("Ingrese coordenadas: ")
         coordenada_ataque = None
         while not coordenada_ataque:
             coordenada_ataque = celdas.coord_to_index(coordenadas)
             ataque.coordenada_ataque = coordenada_ataque
         if isinstance(mapa_enemigo, MapaMar):
             return self.atacar_mar(atacante, ataque, mapa_enemigo)
         elif isinstance(mapa_enemigo, MapaAire):
             return self.atacar_aire(atacante, mapa_enemigo)