def colocar_pieza(self, i, j): print("Presionaste", (i, j)) if self.puede_colocar_pieza(i, j): gui.add_piece(i, j) self.tablero.pieces.agregar(edd.Mlist(i, j)) self.p_ac.color = pieza.actual_piece._color self.tablero.t[i][j].agregar(self.p_ac) self.eliminar_hint() while True: o = randint(0, len(self.pieces[0]) - 1) if self.pieces[0][o].elegir: self.pieces[0][o].cantidad -= 1 break if pieza.actual_piece._color == 'red': gui.nueva_pieza(piece_type=self.pieces[0][o].tipo, color='blue') self.p_ac = self.pieces[0][o] self.borde_ac = self.pieces[0][o].tipo if not self.quedan_movimientos(): """ACÁ DEBERIA TERMINAR EL JUEGO""" self.terminar_juego() print('PERDISTE') else: gui.nueva_pieza(piece_type=self.pieces[0][o].tipo, color='red') self.p_ac = self.pieces[0][o] self.borde_ac = self.pieces[0][o].tipo if not self.quedan_movimientos(): """ACÁ DEBERIA TERMINAR EL JUEGO""" self.terminar_juego() print('PERDISTE')
def __init__(self): self.npieza = elegir_pieza() self.color = "" self.rojo = "" self.azul = "" self.numeros = 0 self.hint = "" e = randint(0, 1) if e == 1: self.color = "red" else: self.color = "blue" # falta ver color y si hay y guardarla gui.nueva_pieza(color=self.color, piece_type=self.npieza) i = randint(0, 7) j = randint(0, 7) agregar_valor(i, j, self.npieza) gui.add_piece(i, j) poner = str(i) + str(j) + str(self.npieza) DATOS.colores.agregar_nodo(self.color) DATOS.puestas.agregar_nodo(poner) DATOS.posiciones.agregar_nodo(str(i) + str(j)) self.npieza = elegir_pieza() if self.npieza == "salir": print("Se terminaron las piezas :(") self.terminar_juego() if FUNCIONES.revisar_opcion(DATOS.fila1, DATOS.fila2, DATOS.fila3, DATOS.fila4, DATOS.fila5, DATOS.fila6, DATOS.fila7, DATOS.fila8, self.npieza, DATOS.posiciones) == False: self.terminar_juego() if self.color == "red": self.color = "blue" else: self.color = "red" gui.nueva_pieza(color=self.color, piece_type=self.npieza) pass
def retroceder(self): self.id += 1 color = pieza.actual_piece._color i = len(self.tablero.pieces) - 1 if len(self.tablero.pieces) == 1: print('NO PUEDES RETROCEDER SI NO HAS HECHO UNA JUGADA') pass else: while True: if self.tablero.get_piece( self.tablero.pieces[i][0], self.tablero.pieces[i][1])[0].color != color: i -= 1 if i == 0: print('NO PUEDES BORRAR LA PRIMERA PIEZA') break else: if i == 0: print('NO SE PUEDE SACAR LA PRIMERA PIEZA EL JUEGO') else: gui.pop_piece(self.tablero.pieces[i][0], self.tablero.pieces[i][1]) self.tablero.retroceder(self.tablero.pieces[i][0], self.tablero.pieces[i][1]) del self.tablero.pieces[i] if color == 'red': p = randint(0, len(self.pieces) - 1) self.pieces[0][p].cantidad -= 1 self.p_ac = self.pieces[0][p] self.borde_ac = self.pieces[0][p].tipo gui.nueva_pieza(piece_type=self.pieces[0][p].tipo, color='blue') else: p = randint(0, len(self.pieces) - 1) self.pieces[0][p].cantidad -= 1 self.p_ac = self.pieces[0][p] self.borde_ac = self.pieces[0][p].tipo gui.nueva_pieza(piece_type=self.pieces[0][p].tipo, color='red') break
def __init__(self): self.id = 0 self.j1 = jugador(0, 'rojo') self.j2 = jugador(0, 'azul') self.tablero = Tablero() self.pieces = edd.Mlist(L_Pieces, L_Pieces1) self.p_ac = Pieza(tipo=pieza.actual_piece._type, color=pieza.actual_piece._color, cantidad=0) self.ij = edd.Mlist(randint(0, 7), randint(0, 7)) gui.add_piece(self.ij[0], self.ij[1]) self.tablero.t[self.ij[0]][self.ij[1]].agregar( Pieza(pieza.actual_piece._type, 0)) p = randint(0, len(self.pieces) - 1) self.pieces[0][p].cantidad -= 1 self.borde_ac = self.pieces[0][p].tipo gui.nueva_pieza(piece_type=self.pieces[0][p].tipo, color='red') self.tablero.pieces.agregar(edd.Mlist(self.ij[0], self.ij[1])) if not self.quedan_movimientos(): print('perdiste')
def colocar_pieza(self, i, j): if FUNCIONES.revisar_bordes(i, j, self.npieza, DATOS.fila1, DATOS.fila2, DATOS.fila3, DATOS.fila4, DATOS.fila5, DATOS.fila6, DATOS.fila7, DATOS.fila8, DATOS.posiciones) == True: if self.hint == "": pass else: gui.pop_piece(int(self.hint[0]), int(self.hint[1])) self.hint = "" print("Presionaste", (i, j)) # comenta la siguiente linea y descomenta la que sigue para ver como se destaca un espacio gui.add_piece(i, j) DATOS.posiciones.agregar_nodo(str(i) + str(j)) agregar_valor(i, j, self.npieza) poner = str(i) + str(j) + str(self.npieza) DATOS.puestas.agregar_nodo(poner) DATOS.colores.agregar_nodo(self.color) # aca guardar la jugada para poder borrarla despues if self.color == "red": self.rojo = str(i) + str(j) self.color = "blue" else: self.azul = poner self.color = "red" self.npieza = elegir_pieza() if self.npieza == "salir": print("Se terminaron las piezas :(") self.terminar_juego() if FUNCIONES.revisar_opcion(DATOS.fila1, DATOS.fila2, DATOS.fila3, DATOS.fila4, DATOS.fila5, DATOS.fila6, DATOS.fila7, DATOS.fila8, self.npieza, DATOS.posiciones) == False: self.terminar_juego() gui.nueva_pieza(color=self.color, piece_type=self.npieza) else: print("No se puede ingresar esa pieza en esa posicion.")
def click_number(self, number): if self.tablero.estados[int(number) - 1][1][0] == pieza.actual_piece._color: p = self.tablero.devolver_estado(int(number)) borrar = p[0] num = p[1] agregar = p[2] for piece in borrar: gui.pop_piece(piece[0], piece[1]) for p in agregar: if p[2].rotacion is None: gui.nueva_pieza(piece_type=p[2].tipo, color=p[2].color) gui.add_piece(p[0], p[1]) else: gui.nueva_pieza(piece_type=p[2].tipo, color=p[2].color) while self.borde_ac != p[2].rotacion: pieza.actual_piece.rotate() gui.add_piece(p[0], p[1]) if pieza.actual_piece._color == 'red': p = randint(0, len(self.pieces) - 1) self.pieces[0][p].cantidad -= 1 self.p_ac = self.pieces[0][p] self.borde_ac = self.pieces[0][p].tipo gui.nueva_pieza(piece_type=self.pieces[0][p].tipo, color='blue') else: p = randint(0, len(self.pieces) - 1) self.pieces[0][p].cantidad -= 1 self.p_ac = self.pieces[0][p] self.borde_ac = self.pieces[0][p].tipo gui.nueva_pieza(piece_type=self.pieces[0][p].tipo, color='red') while num >= int(number): try: gui.pop_number() except IndexError: pass num -= 1 MyInterface.num = get_next_number() else: print('DEBES APRETAR UN ESTADO QUE SEA TUYO!')
def click_number(self, number): if self.hint == "": pass else: gui.pop_piece(int(self.hint[0]), int(self.hint[1])) self.hint = "" # borra el numero bien. for i in range(int(number), self.numeros): gui.pop_number() self.numeros -= 1 tablero = CLASES.ListaLigada() colrs = CLASES.ListaLigada() # aca se ve el total de piezas que hay puestas en el numero guardado # borra las piezas, bien for i in range(DATOS.posiciones.len): x = int(str(DATOS.posiciones.obtener(i))[0]) y = int(str(DATOS.posiciones.obtener(i))[1]) gui.pop_piece(x, y) pos = DATOS.guardados.obtener(int(number) - 1) posic = CLASES.ListaLigada() # aca se crean otras listas para poder cambiar las otras for i in range(int(pos)): x = DATOS.posiciones.obtener(i) te = DATOS.puestas.obtener(i) co = DATOS.colores.obtener(i) tablero.agregar_nodo(str(te)) colrs.agregar_nodo(str(co)) posic.agregar_nodo(str(x)) DATOS.puestas = CLASES.ListaLigada() DATOS.colores = CLASES.ListaLigada() DATOS.posiciones = CLASES.ListaLigada() for node in posic: node = str(node) DATOS.posiciones.agregar_nodo(node) for node in colrs: node = str(node) DATOS.colores.agregar_nodo(node) for node in tablero: node = str(node) DATOS.puestas.agregar_nodo(node) z = 0 for elem in DATOS.puestas: e = str(elem) gui.nueva_pieza(colrs.obtener(z), e[2:]) gui.add_piece(int(e[0]), int(e[1])) z += 1 guar = CLASES.ListaLigada() for i in range(self.numeros): guar.agregar_nodo(str(DATOS.guardados.obtener(i))) DATOS.guardados = CLASES.ListaLigada() for i in range(guar.len): DATOS.guardados.agregar_nodo(str(guar.obtener(i))) self.npieza = elegir_pieza() if self.npieza == "salir": print("Se terminaron las piezas :(") self.terminar_juego() if FUNCIONES.revisar_opcion(DATOS.fila1, DATOS.fila2, DATOS.fila3, DATOS.fila4, DATOS.fila5, DATOS.fila6, DATOS.fila7, DATOS.fila8, self.npieza, DATOS.posiciones) == False: self.terminar_juego() gui.nueva_pieza(self.color, self.npieza) DATOS.fila1 = CLASES.ListaLigada() DATOS.fila2 = CLASES.ListaLigada() DATOS.fila3 = CLASES.ListaLigada() DATOS.fila4 = CLASES.ListaLigada() DATOS.fila5 = CLASES.ListaLigada() DATOS.fila6 = CLASES.ListaLigada() DATOS.fila7 = CLASES.ListaLigada() DATOS.fila8 = CLASES.ListaLigada() FUNCIONES.llenar_lista(DATOS.fila1) FUNCIONES.llenar_lista(DATOS.fila2) FUNCIONES.llenar_lista(DATOS.fila3) FUNCIONES.llenar_lista(DATOS.fila4) FUNCIONES.llenar_lista(DATOS.fila5) FUNCIONES.llenar_lista(DATOS.fila6) FUNCIONES.llenar_lista(DATOS.fila7) FUNCIONES.llenar_lista(DATOS.fila8) for pieza in DATOS.puestas: e = str(pieza) agregar_valor(int(e[0]), int(e[1]), e[2:])
def retroceder(self): if self.hint == "": pass else: gui.pop_piece(int(self.hint[0]), int(self.hint[1])) self.hint = "" if self.color == "red": if self.rojo == "": print("En tu ultima jugada no pusiste ninguna pieza :(") return quitar = self.rojo i = quitar[0] j = quitar[1] gui.pop_piece(int(i), int(j)) self.rojo = "" self.color = "blue" else: if self.azul == "": print("En tu ultima jugada no pusiste ninguna pieza :(") return quitar = self.azul i = quitar[0] j = quitar[1] gui.pop_piece(int(i), int(j)) self.color = "red" self.azul = "" self.npieza = elegir_pieza() if self.npieza == "salir": print("Se terminaron las piezas :(") self.terminar_juego() if FUNCIONES.revisar_opcion(DATOS.fila1, DATOS.fila2, DATOS.fila3, DATOS.fila4, DATOS.fila5, DATOS.fila6, DATOS.fila7, DATOS.fila8, self.npieza, DATOS.posiciones) == False: self.terminar_juego() gui.nueva_pieza(self.color, self.npieza) nueva = CLASES.ListaLigada() tabl = CLASES.ListaLigada() col = CLASES.ListaLigada() j = 0 for node in DATOS.posiciones: if node != str(i) + str(j): nueva.agregar_nodo(node) else: j += 1 a = 0 for node in DATOS.colores: if a != j: col.agregar_nodo(node) a += 1 else: a += 1 for node in DATOS.puestas: if str(node)[0] != i and str(node)[1] != j: tabl.agregar_nodo(node) DATOS.puestas = CLASES.ListaLigada() for node in tabl: DATOS.puestas.agregar_nodo(node) DATOS.posiciones = CLASES.ListaLigada() for node in nueva: DATOS.posiciones.agregar_nodo(node) DATOS.colores = CLASES.ListaLigada() for node in col: DATOS.colores.agregar_nodo(node) print("Presionaste retroceder")
def colocar_pieza(self, i, j): print("Presionaste", (i, j)) # comenta la siguiente linea y descomenta la que sigue para ver como se destaca un espacio gui.add_piece(i, j) gui.nueva_pieza() #Ojo con esto si no utilizan una nueva pieza obtendran un error