예제 #1
0
    def test_comprueba_Ficha_conDLA(self):
        todos = []
        p = Partida()
        l = Logica()
        l.array_aldeas.append([(1,1)]) #aldea de la fichaA1
        l.array_aldeas.append([(2,2), (2,3)]) #aldea de la fichaA1 y fichaA2
        l.array_aldeas.append([(2,3)]) #aldea de la fichaA1

        l.array_aldeas.append([(2,3)]) #aldea de la fichaA3
        l.array_aldeas.append([(2,3)]) #aldea de la fichaA3

        fichaA1 = ArrayFichas().sacar_ficha(14) #tipo5
        p.tablero.insertar(fichaA1, 2, 1)

        fichaA2 = ArrayFichas().sacar_ficha(19) #tipo7
        fichaA2.girar()
        fichaA2.girar()
        p.tablero.insertar(fichaA2, 1, 1)

        fichaA3 = ArrayFichas().sacar_ficha(16) #tipo6
        p.tablero.insertar(fichaA3, 2, 3)

        mi_ficha = ArrayFichas().sacar_ficha(5) #tipo3
        p.tablero.insertar(mi_ficha, 2, 2)

        l.comprueba_ficha(p.tablero, (2,1), fichaA1)

        expected = [[(1,1), (2,1)], [(2,1), (2,2), (2,3)],  [(2,3)]]

        self.assertEqual(expected, l.array_aldeas)
예제 #2
0
    def test_comprueba_Ficha_conCA(self):
        todos = []
        p = Partida()
        l = Logica()
        l.array_aldeas.append([(2,2)]) #aldea de la fichaA1
        l.array_aldeas.append([(2,4)]) #aldea de la fichaA2
        l.array_aldeas.append([(1,1), (2,1), (3,1)])
        l.array_caminos.append([(5,2), (5,3)])
        l.array_caminos.append([(4,3)]) #camino de la fichaC1
        l.array_caminos.append([(3,3)]) #camino de la fichaC2

        fichaA1 = ArrayFichas().sacar_ficha(1) #tipo2
        p.tablero.insertar(fichaA1, 2, 2)

        fichaA2 = ArrayFichas().sacar_ficha(2) #tipo2
        p.tablero.insertar(fichaA2, 2, 4)

        fichaC1 = ArrayFichas().sacar_ficha(57) #tipo17
        fichaC1.girar()
        p.tablero.insertar(fichaC1, 4, 3)

        fichaC2 = ArrayFichas().sacar_ficha(56) #tipo17
        p.tablero.insertar(fichaC2, 3, 3)

        mi_ficha = ArrayFichas().sacar_ficha(23) #tipo8
        p.tablero.insertar(mi_ficha, 2, 3) #coloco mi_ficha entre la fichaA1 y la fichaA2 y encima de la fichaC2

        l.comprueba_ficha(p.tablero, (2,3), mi_ficha)
        todos.append(l.dame_aldea((2,3)))
        todos.append(l.dame_camino((2,3)))

        expected = [[(2,4), (2,3), (2,2)], [(3,3), (2,3)]]

        self.assertEqual(expected, todos)
예제 #3
0
    def test_comprueba_Ficha_conA(self):
        p = Partida()
        l = Logica()
        l.array_aldeas.append([(2,2)]) #aldea de la fichaA1
        l.array_aldeas.append([(2,4)]) #aldea de la fichaA2
        l.array_aldeas.append([(1,1), (2,1), (3,1)])
        l.array_caminos.append([(5,2), (5,3)])
        l.array_caminos.append([(4,3)]) #camino de la fichaC1

        fichaA1 = ArrayFichas().sacar_ficha(1) #tipo2
        p.tablero.insertar(fichaA1, 2, 2)

        fichaA2 = ArrayFichas().sacar_ficha(2) #tipo2
        p.tablero.insertar(fichaA2, 2, 4)

        fichaC1 = ArrayFichas().sacar_ficha(57) #tipo17
        fichaC1.girar()
        p.tablero.insertar(fichaC1, 4, 3)

        mi_ficha = ArrayFichas().sacar_ficha(5) #tipo3
        p.tablero.insertar(mi_ficha, 2, 3) #coloco mi_ficha entre la fichaA1 y la fichaA2

        l.comprueba_ficha(p.tablero, (2,3), mi_ficha)

        expected = [(2,4), (2,3), (2,2)]

        self.assertEqual(expected, l.dame_aldea((2,3)))
예제 #4
0
    def test_coloca_ficha_con_C_unionUnSoloCamino(self):
        p = Partida()
        l = Logica()
        l.array_caminos.append([(2,4)]) #camino de la ficha1
        l.array_caminos.append([(1,1), (2,1), (3,1)])
        l.array_caminos.append([(4,3)])

        ficha1 = ArrayFichas().sacar_ficha(57) #tipo17
        ficha1.girar()
        ficha1.girar()
        ficha1.girar()
        p.tablero.insertar(ficha1, 2, 4)

        ficha2 = ArrayFichas().sacar_ficha(70) #tipo19
        p.tablero.insertar(ficha2, 2, 2)

        mi_ficha = ArrayFichas().sacar_ficha(66) #tipo18
        mi_ficha.girar()
        mi_ficha.girar()
        mi_ficha.girar()
        p.tablero.insertar(mi_ficha, 2, 3) #coloco mi_ficha entre la ficha1 y la ficha2

        l.coloca_ficha_con_C(p.tablero, (2,3))

        expected = [(2,4), (2,3)]

        self.assertEqual(expected, l.dame_camino((2,3)))
예제 #5
0
    def test_aldea_completada2(self):
        p=Partida();
        l = Logica()

        l.array_aldeas.append([(2,2), (2,3), (2,4)]) #aldea de las fichas

        fichaA1 = ArrayFichas().sacar_ficha(14) #tipo5
        fichaA2 = ArrayFichas().sacar_ficha(5) #tipo3
        fichaA3 = ArrayFichas().sacar_ficha(41) #tipo13
        fichaA3.girar()
        fichaA3.girar()
        fichaA3.girar()

        p.tablero.insertar(fichaA1, 2, 2)
        p.tablero.insertar(fichaA2, 2, 3)
        p.tablero.insertar(fichaA3, 2, 4)

        self.assertTrue(l.aldea_completada(p.tablero,l.dame_aldea((2,2))))
예제 #6
0
    def test_coloca_ficha_con_A_unionUnaSolaAldea(self):
        p = Partida()
        l = Logica()
        l.array_aldeas.append([(2,4)]) #aldea de la ficha1
        l.array_aldeas.append([(1,1), (2,1), (3,1)])
        l.array_aldeas.append([(4,3)])

        ficha1 = ArrayFichas().sacar_ficha(1) #tipo2
        p.tablero.insertar(ficha1, 2, 4)

        ficha2 = ArrayFichas().sacar_ficha(70) #tipo19
        p.tablero.insertar(ficha2, 2, 2)

        mi_ficha = ArrayFichas().sacar_ficha(18) #tipo6
        mi_ficha.girar()
        p.tablero.insertar(mi_ficha, 2, 3) #coloco mi_ficha entre la ficha1 y la ficha2

        l.coloca_ficha_con_A(p.tablero, (2,3))

        expected = [(2,4), (2,3)]

        self.assertEqual(expected, l.dame_aldea((2,3)))
예제 #7
0
    def test_no_continua_camino(self):
        p = Partida()
        l = Logica()
        l.array_caminos.append([(2,2), (2,3)]) #camino de ficha1 y ficha2
        l.array_caminos.append([(1,1), (2,1), (3,1)])
        l.array_caminos.append([(4,3)])

        ficha1 = ArrayFichas().sacar_ficha(57) #tipo17
        ficha1.girar()
        p.tablero.insertar(ficha1, 2, 3)

        ficha2 = ArrayFichas().sacar_ficha(65) #tipo18
        ficha2.girar()
        ficha2.girar()
        ficha2.girar()
        p.tablero.insertar(ficha2, 2, 2)

        mi_ficha = ArrayFichas().sacar_ficha(70) #tipo19
        p.tablero.insertar(mi_ficha, 2, 4) # a la derecha de la ficha1

        self.assertFalse(l.continua_camino(p.tablero, (2,4), (2,3), "izquierda")) #la (2,3) esta a la izda de (2,4)
예제 #8
0
    def test_no_continua_aldea(self):
        p = Partida()
        l = Logica()
        l.array_caminos.append([(2,2), (2,3)]) #aldea de la ficha1 y ficha2
        l.array_caminos.append([(1,1), (2,1), (3,1)])
        l.array_caminos.append([(4,3)])

        ficha1 = ArrayFichas().sacar_ficha(5) #tipo3
        p.tablero.insertar(ficha1, 3, 3)

        ficha2 = ArrayFichas().sacar_ficha(18) #tipo7
        ficha2.girar()
        p.tablero.insertar(ficha2, 3, 2)

        mi_ficha = ArrayFichas().sacar_ficha(70) #tipo19
        mi_ficha.girar()
        mi_ficha.girar()
        mi_ficha.girar()
        p.tablero.insertar(mi_ficha, 3, 4) #a la derecha de la ficha1

        self.assertFalse(l.continua_aldea(p.tablero, (3,4), (3,3), "izquierda")) #la (3,3) esta a la izda de (3,4)
예제 #9
0
    def test_aldea_completada(self):
        p=Partida();
        l = Logica()

        l.array_aldeas.append([(2,2), (2,3), (2,4)]) #aldea de las fichas

        fichaC1 = ArrayFichas().sacar_ficha(21) #tipo7
        fichaC1.girar()

        fichaC2 = ArrayFichas().sacar_ficha(5) #tipo3

        fichaC3 = ArrayFichas().sacar_ficha(22) #tipo7
        fichaC3.girar()
        fichaC3.girar()
        fichaC3.girar()


        p.tablero.insertar(fichaC1, 2, 2)
        p.tablero.insertar(fichaC2, 2, 3)
        p.tablero.insertar(fichaC3, 2, 4)


        self.assertTrue(l.aldea_completada(p.tablero,l.dame_aldea((2,2))))
예제 #10
0
    def test_algoritmo_relleno2(self):
        p = Partida()
        jugador = Jugador('Adrian', 'rojo')
        jugador1 = Jugador('Alberto', 'verde')
        ficha1 = ArrayFichas().sacar_ficha(70)  # FICHA IGLESIA
        ficha2 = ArrayFichas().sacar_ficha(20)  # tipo7
        ficha3 = ArrayFichas().sacar_ficha(21)  # tipo7
        ficha4 = ArrayFichas().sacar_ficha(24)  #tipo8
        ficha5 = ArrayFichas().sacar_ficha(47)  #tipo16
        ficha6 = ArrayFichas().sacar_ficha(51)  #tipo18
        ficha7 = ArrayFichas().sacar_ficha(52)  #tipo18
        ficha8 = ArrayFichas().sacar_ficha(
            46)  # tipo 15 --- bifurcacion 4 caminos
        ficha9 = ArrayFichas().sacar_ficha(18)  # tipo 6

        ficha9.girar()
        ficha9.girar()

        ficha4.girar()
        ficha4.girar()
        ficha4.girar()

        ficha5.girar()
        ficha5.girar()

        ficha6.girar()

        ficha8.girar()
        ficha8.girar()

        ficha2.girar()
        ficha2.girar()

        ficha3.girar()

        p.tablero.insertar(ficha6, 5, 6)
        p.tablero.insertar(ficha8, 5, 4)
        p.tablero.insertar(ficha4, 5, 3)
        p.tablero.insertar(ficha7, 4, 4)
        p.tablero.insertar(ficha1, 6, 5)
        p.tablero.insertar(ficha2, 7, 5)

        p.actualizar_zonas(ficha3, (7, 6))
        p.colocar_seguidor(ficha3, jugador, 13)
        p.tablero.insertar(ficha3, 7, 6)
        p.algoritmo_relleno(7, 6)
        p.pintada_false()

        p.actualizar_zonas(ficha9, (4, 5))
        p.colocar_seguidor(ficha9, jugador1, 7)
        p.tablero.insertar(ficha9, 4, 5)
        p.algoritmo_relleno(4, 5)
        p.pintada_false()
        expected = """Av Av Av
P4 C1 P4
C1 C1 C1
Pr C1 Pr
Pr Pr Pr
"""
        self.assertEqual(expected, p.tablero.tablero[5][5].imprimir())