예제 #1
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")
예제 #2
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")
예제 #3
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")