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 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 __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 __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.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:])
class MyInterface(gui.GameInterface): def piece_clicked(self, row, column, section, piece): piece.selected = not piece.selected print("{}, {} Section: {}".format(row, column, section)) def reverse_clicked(self, clockwise): print(clockwise) gui.set_points(100) def piece_section_entered(self, section, piece): print("Section entered {}".format(section)) def hint_asked(self): print("Para k kieres saber eso jaja saludos") def save_game(self): print("Save game") gui.init() gui.set_quality("ultra") # low, medium, high ultra gui.set_animations(False) gui.set_scale(1) # Any float different from 0 gui.set_game_interface(MyInterface()) # GUI Listener gui.add_piece(0, 0, random.choice(variables.HEXAGON_TYPES)) gui.run()
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
import random class MyInterface(gui.GameInterface): def piece_clicked(self, row, column, section, piece): piece.selected = not piece.selected print("{}, {} Section: {}".format(row, column, section)) def reverse_clicked(self, clockwise): print(clockwise) gui.set_points(100) def piece_section_entered(self, section, piece): print("Section entered {}".format(section)) def hint_asked(self): print("Para k kieres saber eso jaja saludos") def save_game(self): print("Save game") gui.init() gui.set_quality("ultra") # low, medium, high ultra gui.set_animations(False) gui.set_scale(1) # Any float different from 0 gui.set_game_interface(MyInterface()) # GUI Listener gui.add_piece(0, 0, random.choice(variables.HEXAGON_TYPES)) gui.run()
def hint_asked(self): hints = self.p_hints() for piece in hints: gui.add_piece(piece[0], piece[1], piece_type='hint')
def eliminar_hint(self): for i in range(8): for j in range(8): if gui.get_piece(i, j)._type == 'hint': gui.add_piece(i, j, piece_type='blank')