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")
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")
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)
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")
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( '----------------------------------------------------------------')
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")
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")
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")
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")
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")
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()
def criar_veiculo(self, obj): if obj == "barco": return Barco() if obj == "carro": return Carro()