예제 #1
0
 def test_insertar_barco_fuera_del_tablero_falla_y_no_modifica_el_barco(
         self):
     titanic = Barco(100)
     oceano = Tablero(10, 10)
     with self.assertRaises(JuegoException):
         oceano.insert_item_in_position(titanic, 15, 2)
     self.assertEqual(titanic.get_column(), None, "Posicion X no es nula")
     self.assertEqual(titanic.get_row(), None, "Posicion Y no es nula")
예제 #2
0
 def test_insertar_barco_dentro_del_tablero_cuadrado_queda_bien_posicionado(
         self):
     titanic = Barco(100)
     oceano = Tablero(10, 10)
     oceano.insert_item_in_position(titanic, 0, 0)
     self.assertEqual(oceano.get_item_from_position(0, 0), titanic,
                      "En la posicion 0,0 no se ve el barco")
     self.assertEqual(titanic.get_column(), 0, "Posicion X no es 0")
     self.assertEqual(titanic.get_row(), 0, "Posicion Y no es 0")
예제 #3
0
    def __init__(self, velocidade_em_terra, velocidade_na_agua, qtd_portas,
                 helices):
        self.velocidade_em_terra = velocidade_em_terra
        self.velocidade_na_agua = velocidade_na_agua
        self.qtd_portas = qtd_portas
        self.helices = helices

        Carro.__init__(self, velocidade_em_terra, qtd_portas)
        Barco.__init__(self, velocidade_na_agua, helices)
예제 #4
0
 def test_mortero_ataca_a_barco_y_le_saca_vida(self):
     titanic = Barco(100)
     mortero = Mortero([[40, 40, 40, 40, 40], [40, 40, 40, 40, 40],
                        [40, 40, 40, 40, 40], [40, 40, 40, 40, 40],
                        [40, 40, 40, 40, 40]])
     oceano = Tablero(5, 5)
     juego = Juego(oceano, [titanic], [mortero])
     mortero.attack(titanic)
     self.assertEqual(titanic.get_life_points(), 60,
                      "El barco no perdio vida")
예제 #5
0
class Main():
    instancia1 = Automovil('', 'Chevrolet', 'Negro', '2010', '5')
    instancia2 = Automovil('', 'Mustang', 'Verde', '2012', '7')
    instancia3 = Automovil('', 'Honda', 'Azul', '2011', '4')
    instancia4 = Automovil('', 'Nissan', 'Blanco', '2001', '2')
    instancia5 = Automovil('', 'Fiat', 'Rojo', '2019', '8')

    print('---------------------------------------------------')
    instancia6 = Avion('', 'Carga', 'Blanco', '2000', '85')
    instancia7 = Avion('', 'Transporte', 'Rojo', '2000', '150')
    instancia8 = Avion('', 'Privado', 'Negro', '2000', '5')
    instancia9 = Avion('', 'AirForce', 'Azul', '2000', '500')
    instancia10 = Avion('', 'No lo tiene ni Obama', 'Negro', '2000', '105')

    print('---------------------------------------------------')
    instancia11 = Barco('', 'Pesquero', 'Azul', '2012', '51')
    instancia12 = Barco('', 'Transporte', 'Rojo', '2012', '35')
    instancia13 = Barco('', 'Crucero', 'Blanco', '2012', '1000')
    instancia14 = Barco('', 'No se me ocurre nada', 'Negro', '2012', '558')
    instancia15 = Barco('', 'En este tampoco', 'Azul', '2012', '79')

    lista = [
        instancia1, instancia2, instancia3, instancia4, instancia5, instancia6,
        instancia7, instancia8, instancia9, instancia10, instancia11,
        instancia12, instancia13, instancia14, instancia15
    ]

    lista2 = colar('Maritimo', lista)
    for i in range(len(lista2)):
        print(lista2[i])
        print(
            '----------------------------------------------------------------')

    lista2 = colar('Aereo', lista)
    for i in range(len(lista2)):
        print(lista2[i])
        print(
            '----------------------------------------------------------------')

    lista2 = colar('Terrestre', lista)
    for i in range(len(lista2)):
        print(lista2[i])
        print(
            '----------------------------------------------------------------')
예제 #6
0
 def test_crear_juego_poner_barco_y_hacerlo_avanzar_actualiza_la_posicion_del_barco_y_tablero(
         self):
     titanic = Barco(100)
     oceano = Tablero(10, 10)
     juego = Juego(oceano, [titanic], 1)
     xInicial = titanic.get_column()
     yInicial = titanic.get_row()
     titanic.advance_to_new_position()
     self.assertEqual(titanic.get_column(), xInicial + 1,
                      "La posicion del barco en x no se modifico")
     self.assertEqual(titanic.get_row(), yInicial,
                      "La posicion del barco en y se modifico")
     self.assertEqual(oceano.get_item_from_position(xInicial, yInicial),
                      None, "El barco sigue en su posicion original")
     self.assertEqual(oceano.get_item_from_position(xInicial + 1, yInicial),
                      titanic, "El barco no avanzo en el tablero")
예제 #7
0
 def test_insertar_barco_dentro_del_borde_del_tablero_rectangular_queda_bien_posicionado(
         self):
     titanic = Barco(100)
     oceano = Tablero(10, 20)
     oceano.insert_item_in_position(titanic, 9, 2)
     self.assertEqual(oceano.get_item_from_position(9, 2), titanic,
                      "En la posicion 9,2 no se ve el barco")
     self.assertEqual(titanic.get_column(), 9, "Posicion X no es 9")
     self.assertEqual(titanic.get_row(), 2, "Posicion Y no es 2")
     oceano.insert_item_in_position(titanic, 5, 19)
     self.assertEqual(oceano.get_item_from_position(5, 19), titanic,
                      "En la posicion 5,19 no se ve el barco")
     self.assertEqual(titanic.get_column(), 5, "Posicion X no es 5")
     self.assertEqual(titanic.get_row(), 19, "Posicion Y no es 19")
예제 #8
0
 def test_barco_avanza_y_el_mortero_lo_va_atacando_hasta_destruirlo(self):
     titanic = Barco(100)
     mortero = Mortero([[40, 40, 40, 40, 40], [30, 30, 30, 30, 30],
                        [20, 20, 20, 20, 20], [15, 15, 15, 15, 15],
                        [40, 40, 40, 40, 40]])
     oceano = Tablero(5, 5)
     juego = Juego(oceano, [titanic], [mortero])
     mortero.attack(titanic)
     self.assertEqual(titanic.get_life_points(), 60,
                      "El barco no perdio vida")
     titanic.advance_to_new_position()
     mortero.attack(titanic)
     self.assertEqual(titanic.get_life_points(), 30,
                      "El barco no perdio vida")
     titanic.advance_to_new_position()
     mortero.attack(titanic)
     self.assertEqual(titanic.get_life_points(), 10,
                      "El barco no perdio vida")
     titanic.advance_to_new_position()
     mortero.attack(titanic)
     self.assertTrue(titanic.is_dead(), "El barco no murio")
예제 #9
0
 def test_crear_juego_ubica_los_barcos_en_el_tablero(self):
     titanic = Barco(100)
     santamaria = Barco(50)
     oceano = Tablero(10, 10)
     juego = Juego(oceano, [titanic, santamaria], 1)
     self.assertNotEqual(titanic.get_column(), None,
                         "Posicion X no fue seteada")
     self.assertNotEqual(titanic.get_row(), None,
                         "Posicion Y no fue seteada")
     self.assertEqual(
         oceano.get_item_from_position(titanic.get_column(),
                                       titanic.get_row()), titanic,
         "El barco no se ubico en el tablero")
     self.assertNotEqual(santamaria.get_column(), None,
                         "Posicion X no fue seteada")
     self.assertNotEqual(santamaria.get_row(), None,
                         "Posicion Y no fue seteada")
     self.assertEqual(
         oceano.get_item_from_position(santamaria.get_column(),
                                       santamaria.get_row()), santamaria,
         "El barco no se ubico en el tablero")
예제 #10
0
 def test_barco_avanza_hasta_el_final_y_da_la_vuelta(self):
     titanic = Barco(100)
     oceano = Tablero(3, 3)
     juego = Juego(oceano, [titanic], 1)
     xInicial = titanic.get_column()
     yInicial = titanic.get_row()
     titanic.advance_to_new_position()
     self.assertEqual(titanic.get_column(), xInicial + 1,
                      "La posicion del barco en x no se modifico")
     self.assertEqual(oceano.get_item_from_position(xInicial + 1, yInicial),
                      titanic, "El barco no avanzo en el tablero")
     titanic.advance_to_new_position()
     self.assertEqual(titanic.get_column(), xInicial + 2,
                      "La posicion del barco en x no se modifico")
     self.assertEqual(oceano.get_item_from_position(xInicial + 2, yInicial),
                      titanic, "El barco no avanzo en el tablero")
     titanic.advance_to_new_position()
     self.assertEqual(titanic.get_column(), xInicial,
                      "El barco no dio la vuelta")
     self.assertEqual(titanic.get_row(), yInicial,
                      "La posicion del barco en y se modifico")
     self.assertEqual(oceano.get_item_from_position(xInicial, yInicial),
                      titanic, "El barco no dio la vuelta en el tablero")
     self.assertEqual(oceano.get_item_from_position(xInicial + 2, yInicial),
                      None, "El barco no se fue del final del tablero")
예제 #11
0
import sys
import time

from barco import Barco

ORANGE = [255, 87, 51]

if __name__ == '__main__':
    if len(sys.argv) < 3:
        print('Usage: {} <IP> <port>'.format(sys.argv[0]))
        sys.exit(-1)

    b = Barco(sys.argv[1], sys.argv[2])
    b.clear_all_strips()

    time.sleep(1)
    b.apply_to_all_strips(b.unicolor, [11, 11, 11])
    b.apply_to_strip(1, b.gradient, [30, 0, 0], True)
    b.apply_to_strip(1, b.sin, [0, 15, 0])

    time.sleep(1)
    o = b._dim_color(ORANGE, 0.15)
    b.apply_to_all_strips(b.unicolor, o)

    time.sleep(1)
    b.clear_all_strips()
예제 #12
0
 def criar_veiculo(self, obj):
     if obj == "barco":
         return Barco()
     if obj == "carro":
         return Carro()