예제 #1
0
    def test_ficha_8(self):
        f = Fichas('A', 'A', 'A', 'A', 'P', 'C', 'P', 'A', 'A', 'A', 'A', 'A',
                   'A', [1, 1, 1, 1, 1, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1], False)
        expected = """A1 A1 A1
A1 A1 A1
A1 A1 A1
A1 A1 A1
P2 C3 P4
"""
        self.assertEqual(expected, f.imprimir())
예제 #2
0
    def test_first_ficha(self):
        f = Fichas('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                   'A', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], True)
        expected = """A1 A1 A1
A1 A1 A1
A1 A1 A1
A1 A1 A1
A1 A1 A1
"""
        self.assertEqual(expected, f.imprimir())
예제 #3
0
    def test_ficha_7(self):
        f = Fichas('P', 'A', 'A', 'A', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P',
                   'P', [1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1], False)
        expected = """A2 A2 A2
P1 P1 P1
P1 P1 P1
P1 P1 P1
P1 P1 P1
"""
        self.assertEqual(expected, f.imprimir())
예제 #4
0
    def test_sacar_ficha_primera(self):
        f = Fichas('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                   'A', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], True)
        expected = """A1 A1 A1
A1 A1 A1
A1 A1 A1
A1 A1 A1
A1 A1 A1
"""
        self.assertEqual(f.imprimir(), expected)
예제 #5
0
    def test_ficha_3(self):
        f = Fichas('A', 'P', 'P', 'P', 'P', 'P', 'P', 'A', 'A', 'A', 'A', 'A',
                   'A', [1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1], False)
        expected = """P2 P2 P2
A1 A1 A1
A1 A1 A1
A1 A1 A1
P2 P2 P2
"""
        self.assertEqual(expected, f.imprimir())
예제 #6
0
    def test_girar_bif(self):
        f = Fichas('B', 'P', 'C', 'P', 'P', 'C', 'P', 'P', 'C', 'P', 'P', 'C',
                   'P', [0, 0, 0, 1, 2, 3, 4, 5, 6, 3, 7, 6, 1, 8, 4],
                   [0, 0, 0, 1, 2, 3, 4, 5, 6, 3, 7, 6, 1, 8, 4], False)
        f.girar()
        expected = """P4 C8 P1
P4 B0 P1
C5 B0 C2
P6 B0 P3
P6 C7 P3
"""
        self.assertEqual(expected, f.imprimir())
예제 #7
0
    def test_girar_ficha(self):

        f = Fichas('A', 'A', 'A', 'A', 'P', 'P', 'P', 'A', 'A', 'A', 'A', 'A',
                   'A', [1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1], False)
        f.girar()
        expected = """A1 A1 A1
P2 A1 A1
P2 A1 A1
P2 A1 A1
A1 A1 A1
"""
        self.assertEqual(expected, f.imprimir())
예제 #8
0
    def test_ficha_vacia(self):
        f = Fichas('-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-',
                   '-', [
                       '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-',
                       '-', '-', '-', '-'
                   ], False)
        expected = """-- -- --
-- -- --
-- -- --
-- -- --
-- -- --
"""
        self.assertEqual(f.imprimir(), expected)
예제 #9
0
 def test_colocar_seg(self):
     p = Partida()
     ficha = Fichas('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                    'A', 'A', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
     jugador = Jugador('Adrian', 'rojo')
     expected = jugador.seguidores - 1
     p.colocar_seguidor(ficha, jugador, 0)
     self.assertEqual(expected, jugador.seguidores)
예제 #10
0
 def test_colocar_seg(self):
     p = Partida()
     ficha = Fichas('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                    'A', 'A', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
     jugador = Jugador('Adrian', 'rojo')
     p.colocar_seguidor(ficha, jugador, 0)
     expected = [
         "r", "r", "r", "r", "r", "r", "r", "r", "r", "r", "r", "r", "r",
         "r", "r"
     ]
     self.assertEqual(expected, ficha.zona_colorear)
예제 #11
0
class ArrayFichas:


	vacia = Fichas('-','-','-','-','-','-','-','-','-','-','-','-','-', ['-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'],
	['-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'],False)
	inicial = Fichas('C','A','A','A','P','P','P','P','C','P','P','C','P',[1,1,1,2,2,2,3,3,3,4,1,3,4,1,3],
	[1,1,1,2,2,2,3,3,3,4,1,3,4,1,3],False)

	def __init__(self):

		# centro arriba abajo derecha izquierda
		self.saco = []
		self.tipos = []

		tipo1 = Fichas('A','A','A','A','A','A','A','A','A','A','A','A','A',[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
		[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],True)
		self.saco.append(tipo1)
		self.tipos.append(tipo1)

		for i in range(3):
			tipo2 = Fichas('A','A','A','A','P','P','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],
			[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],False)
			self.saco.append(tipo2)
		self.tipos.append(tipo2)

		# Con escudo
		tipo2E = Fichas('A','A','A','A','P','P','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],
		[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],True)
		self.saco.append(tipo2E)

		tipo3 = Fichas('A','P','P','P','P','P','P','A','A','A','A','A','A',[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],
		[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],False)
		self.saco.append(tipo3)
		self.tipos.append(tipo3)

		for i in range(2):
			tipo3E = Fichas('A','P','P','P','P','P','P','A','A','A','A','A','A',[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],
			[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],True)
			self.saco.append(tipo3E)

		for i in range(3):
			tipo4 = Fichas('P','A','A','A','P','P','P','P','P','P','A','A','A',[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],
			[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],False)
			self.saco.append(tipo4)
		self.tipos.append(tipo4)

		for i in range(2):
			tipo4E = Fichas('P','A','A','A','P','P','P','P','P','P','A','A','A',[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],
			[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],True)
			self.saco.append(tipo4E)

		for i in range(2):
			tipo5 = Fichas('P','A','A','A','P','P','P','A','A','A','P','P','P',[1,1,1,2,2,2,1,1,1,3,3,3,1,1,1],
			[1,1,1,2,2,2,1,1,1,3,3,3,1,1,1],False)
			self.saco.append(tipo5)
		self.tipos.append(tipo5)

		for i in range(3):
			tipo6 = Fichas('P','P','P','P','P','P','P','A','A','A','A','A','A',[1,1,1,1,1,1,1,1,1,3,3,3,2,2,2],
			[1,1,1,1,1,1,1,1,1,3,3,3,2,2,2],False)
			self.saco.append(tipo6)
		self.tipos.append(tipo6)

		for i in range(5):
			tipo7 = Fichas('P','A','A','A','P','P','P','P','P','P','P','P','P',[1,1,1,2,2,2,1,1,1,1,1,1,1,1,1],
			[1,1,1,2,2,2,1,1,1,1,1,1,1,1,1],False)
			self.saco.append(tipo7)
		self.tipos.append(tipo7)

		tipo8 = Fichas('A','A','A','A','P','C','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],
		[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],False)
		self.saco.append(tipo8)
		self.tipos.append(tipo8)

		for i in range(2):
			tipo8E = Fichas('A','A','A','A','P','C','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],
			[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],True)
			self.saco.append(tipo8E)


		for i in range(3):
			tipo9 = Fichas('P','A','A','A','P','C','P','P','C','P','A','A','A',[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],
			[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],False)
			self.saco.append(tipo9)
		self.tipos.append(tipo9)

		for i in range(2):
			tipo9E = Fichas('P','A','A','A','P','C','P','P','C','P','A','A','A',[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],
			[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],False)
			self.saco.append(tipo9E)

		for i in range(2):
			tipo10 = Fichas('I','P','P','P','P','C','P','P','P','P','P','P','P',[1,1,1,2,2,2,2,3,2,2,2,2,2,2,2],
			[1,1,1,2,2,2,2,3,2,2,2,2,2,2,2],False)
			self.saco.append(tipo10)
		self.tipos.append(tipo10)

		for i in range(3):
			tipo11 = Fichas('P','A','A','A','P','C','P','P','C','P','P','P','P',[1,1,1,2,2,2,1,3,4,1,3,4,1,1,1],
			[1,1,1,2,2,2,1,3,4,1,3,4,1,1,1],False)
			self.saco.append(tipo11)
		self.tipos.append(tipo11)

		for i in range(3):
			tipo12 = Fichas('P','A','A','A','P','C','P','P','P','P','P','C','P',[1,1,1,2,2,2,3,4,1,1,1,1,1,4,3],
			[1,1,1,2,2,2,3,4,1,1,1,1,1,4,3],False)
			self.saco.append(tipo12)
		self.tipos.append(tipo12)

		for i in range(3):
			tipo13 = Fichas('B','A','A','A','P','C','P','P','C','P','P','C','P',[0,0,0,1,1,1,2,3,4,5,6,4,5,7,2],
			[0,0,0,1,1,1,2,3,4,5,6,4,5,7,2],False)
			self.saco.append(tipo13)
		self.tipos.append(tipo13)

		for i in range(3):
			tipo14 = Fichas('C','A','A','A','P','P','P','P','C','P','P','C','P',[1,1,1,2,2,2,3,3,3,4,1,3,4,1,3],
			[1,1,1,2,2,2,3,3,3,4,1,3,4,1,3],False)
			self.saco.append(tipo14)
		self.tipos.append(tipo14)

		tipo15 = Fichas('B','P','C','P','P','C','P','P','C','P','P','C','P',[0,0,0,1,2,3,4,5,6,3,7,6,1,8,4],
		[0,0,0,1,2,3,4,5,6,3,7,6,1,8,4],False)
		self.saco.append(tipo15)
		self.tipos.append(tipo15)

		for i in range(4):
			tipo16 = Fichas('B','P','P','P','P','C','P','P','C','P','P','C','P',[0,0,0,1,1,1,2,3,4,1,5,4,1,6,2],
			[0,0,0,1,1,1,2,3,4,1,5,4,1,6,2],False)
			self.saco.append(tipo16)
		self.tipos.append(tipo16)

		for i in range(8):
			tipo17 = Fichas('C','P','C','P','P','C','P','P','P','P','P','P','P',[1,1,1,2,1,3,2,1,3,3,3,3,2,2,2],
			[1,1,1,2,1,3,2,1,3,3,3,3,2,2,2],False)
			self.saco.append(tipo17)
		self.tipos.append(tipo17)

		for i in range(9):
			tipo18 = Fichas('C','P','P','P','P','C','P','P','P','P','P','C','P',[1,1,1,2,2,2,3,1,2,2,2,2,2,1,3],
			[1,1,1,2,2,2,3,1,2,2,2,2,2,1,3],False)
			self.saco.append(tipo18)
		self.tipos.append(tipo18)

		for i in range(4):
			tipo19 = Fichas('I','P','P','P','P','P','P','P','P','P','P','P','P',[1,1,1,2,2,2,2,2,2,2,2,2,2,2,2],
			[1,1,1,2,2,2,2,2,2,2,2,2,2,2,2],False)
			self.saco.append(tipo19)
		self.tipos.append(tipo19)


	#Escoge una de las 72 fichas (alguna en concreto o al azar).
	def sacar_ficha(self,pos=None):
		if pos == None:
			pos=random.randint(0,len(self.saco)-1)
		return self.saco[pos]

    # Elimina una ficha (para cuando se coloque en el tablero).
	def eliminar_ficha(self, ficha):
		self.saco.remove(ficha)

    #Devuelve el tipo de ficha que es.
	def type(self, ficha):
		ficha_aux = copy.deepcopy(ficha)
		for i in range(19):
			for z in range(1,5):
				if self.tipos[i].territorio == ficha_aux.territorio:
					return i+1
				ficha_aux.girar()
예제 #12
0
	def __init__(self):

		# centro arriba abajo derecha izquierda
		self.saco = []
		self.tipos = []

		tipo1 = Fichas('A','A','A','A','A','A','A','A','A','A','A','A','A',[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
		[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],True)
		self.saco.append(tipo1)
		self.tipos.append(tipo1)

		for i in range(3):
			tipo2 = Fichas('A','A','A','A','P','P','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],
			[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],False)
			self.saco.append(tipo2)
		self.tipos.append(tipo2)

		# Con escudo
		tipo2E = Fichas('A','A','A','A','P','P','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],
		[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1],True)
		self.saco.append(tipo2E)

		tipo3 = Fichas('A','P','P','P','P','P','P','A','A','A','A','A','A',[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],
		[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],False)
		self.saco.append(tipo3)
		self.tipos.append(tipo3)

		for i in range(2):
			tipo3E = Fichas('A','P','P','P','P','P','P','A','A','A','A','A','A',[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],
			[1,1,1,2,2,2,2,2,2,1,1,1,1,1,1],True)
			self.saco.append(tipo3E)

		for i in range(3):
			tipo4 = Fichas('P','A','A','A','P','P','P','P','P','P','A','A','A',[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],
			[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],False)
			self.saco.append(tipo4)
		self.tipos.append(tipo4)

		for i in range(2):
			tipo4E = Fichas('P','A','A','A','P','P','P','P','P','P','A','A','A',[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],
			[1,1,1,2,2,2,1,1,1,1,1,1,2,2,2],True)
			self.saco.append(tipo4E)

		for i in range(2):
			tipo5 = Fichas('P','A','A','A','P','P','P','A','A','A','P','P','P',[1,1,1,2,2,2,1,1,1,3,3,3,1,1,1],
			[1,1,1,2,2,2,1,1,1,3,3,3,1,1,1],False)
			self.saco.append(tipo5)
		self.tipos.append(tipo5)

		for i in range(3):
			tipo6 = Fichas('P','P','P','P','P','P','P','A','A','A','A','A','A',[1,1,1,1,1,1,1,1,1,3,3,3,2,2,2],
			[1,1,1,1,1,1,1,1,1,3,3,3,2,2,2],False)
			self.saco.append(tipo6)
		self.tipos.append(tipo6)

		for i in range(5):
			tipo7 = Fichas('P','A','A','A','P','P','P','P','P','P','P','P','P',[1,1,1,2,2,2,1,1,1,1,1,1,1,1,1],
			[1,1,1,2,2,2,1,1,1,1,1,1,1,1,1],False)
			self.saco.append(tipo7)
		self.tipos.append(tipo7)

		tipo8 = Fichas('A','A','A','A','P','C','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],
		[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],False)
		self.saco.append(tipo8)
		self.tipos.append(tipo8)

		for i in range(2):
			tipo8E = Fichas('A','A','A','A','P','C','P','A','A','A','A','A','A',[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],
			[1,1,1,1,1,1,2,3,4,1,1,1,1,1,1],True)
			self.saco.append(tipo8E)


		for i in range(3):
			tipo9 = Fichas('P','A','A','A','P','C','P','P','C','P','A','A','A',[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],
			[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],False)
			self.saco.append(tipo9)
		self.tipos.append(tipo9)

		for i in range(2):
			tipo9E = Fichas('P','A','A','A','P','C','P','P','C','P','A','A','A',[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],
			[1,1,1,2,2,2,1,3,4,1,3,4,2,2,2],False)
			self.saco.append(tipo9E)

		for i in range(2):
			tipo10 = Fichas('I','P','P','P','P','C','P','P','P','P','P','P','P',[1,1,1,2,2,2,2,3,2,2,2,2,2,2,2],
			[1,1,1,2,2,2,2,3,2,2,2,2,2,2,2],False)
			self.saco.append(tipo10)
		self.tipos.append(tipo10)

		for i in range(3):
			tipo11 = Fichas('P','A','A','A','P','C','P','P','C','P','P','P','P',[1,1,1,2,2,2,1,3,4,1,3,4,1,1,1],
			[1,1,1,2,2,2,1,3,4,1,3,4,1,1,1],False)
			self.saco.append(tipo11)
		self.tipos.append(tipo11)

		for i in range(3):
			tipo12 = Fichas('P','A','A','A','P','C','P','P','P','P','P','C','P',[1,1,1,2,2,2,3,4,1,1,1,1,1,4,3],
			[1,1,1,2,2,2,3,4,1,1,1,1,1,4,3],False)
			self.saco.append(tipo12)
		self.tipos.append(tipo12)

		for i in range(3):
			tipo13 = Fichas('B','A','A','A','P','C','P','P','C','P','P','C','P',[0,0,0,1,1,1,2,3,4,5,6,4,5,7,2],
			[0,0,0,1,1,1,2,3,4,5,6,4,5,7,2],False)
			self.saco.append(tipo13)
		self.tipos.append(tipo13)

		for i in range(3):
			tipo14 = Fichas('C','A','A','A','P','P','P','P','C','P','P','C','P',[1,1,1,2,2,2,3,3,3,4,1,3,4,1,3],
			[1,1,1,2,2,2,3,3,3,4,1,3,4,1,3],False)
			self.saco.append(tipo14)
		self.tipos.append(tipo14)

		tipo15 = Fichas('B','P','C','P','P','C','P','P','C','P','P','C','P',[0,0,0,1,2,3,4,5,6,3,7,6,1,8,4],
		[0,0,0,1,2,3,4,5,6,3,7,6,1,8,4],False)
		self.saco.append(tipo15)
		self.tipos.append(tipo15)

		for i in range(4):
			tipo16 = Fichas('B','P','P','P','P','C','P','P','C','P','P','C','P',[0,0,0,1,1,1,2,3,4,1,5,4,1,6,2],
			[0,0,0,1,1,1,2,3,4,1,5,4,1,6,2],False)
			self.saco.append(tipo16)
		self.tipos.append(tipo16)

		for i in range(8):
			tipo17 = Fichas('C','P','C','P','P','C','P','P','P','P','P','P','P',[1,1,1,2,1,3,2,1,3,3,3,3,2,2,2],
			[1,1,1,2,1,3,2,1,3,3,3,3,2,2,2],False)
			self.saco.append(tipo17)
		self.tipos.append(tipo17)

		for i in range(9):
			tipo18 = Fichas('C','P','P','P','P','C','P','P','P','P','P','C','P',[1,1,1,2,2,2,3,1,2,2,2,2,2,1,3],
			[1,1,1,2,2,2,3,1,2,2,2,2,2,1,3],False)
			self.saco.append(tipo18)
		self.tipos.append(tipo18)

		for i in range(4):
			tipo19 = Fichas('I','P','P','P','P','P','P','P','P','P','P','P','P',[1,1,1,2,2,2,2,2,2,2,2,2,2,2,2],
			[1,1,1,2,2,2,2,2,2,2,2,2,2,2,2],False)
			self.saco.append(tipo19)
		self.tipos.append(tipo19)