crucigrama.py

from Tkinter import * # sirve para poder utilizar botones, labels y entry from pylab import * # para utilizar arrays y crear una matriz from Gui import * # para modo gráfico del programa import tkMessageBox,string # para ventanas de error, para convertir letras minúsculas a mayúsculas ventana = Tk# se tiene un formato, por lo cual se crea una variable, a la cual se le asigna Tk columna_ingreso=StringVar # fila_ingreso=StringVar # letra_ingreso=StringVar # son variables de texto y guarda lo que ingresa el ususrio en cada entry xpantalla=0 # ypantalla=0 # sirven para las coordenadas del canvas f1=array([,,,,'','P','E','R','R','O'])# vectot "array" es un vector, que permite que en f1, se busque una posición. Se tiene un listado en donde se busca dependiendo de la posición. f2=array(['I','G','L','U',,'C',,'M',,]) # se crearon 10 vectores, uno por fila, y ya teniendolos todos, se ingresaron en otro arreglo para crear la matriz f3=array([,,,,'B','A','T','E','A','R']) f4=array([,,'O','S',,'R',,'R','','E']) f5=array([,,'L','O',,'R',,'C','','T']) f6=array([,'P','E','L','E','O',,'U','','I']) f7=array([,,'O',,,,,'R','','P']) f8=array([,,,,,,,'I',,'U']) f9=array(['S','A','N','T','I','A','G','O','','J']) f10=array([,,'O',,,,'O',,,]) matriz_solucion=array([f1,f2,f3,f4,f5,f6,f7,f8,f9,f10]) # se guarda información, para luego buscarla y saber exactamente en que fila y columna se encuantra cada letra ff1=array([,,,,'','0','0','0','0','0']) # si sigue cero, quiere decir que no se a ingresado nada ff2=array(['0','0','0','0',,'0',,'0',,]) # si es uno, ya se ingreso, por lo que si el usuaro desea ingresar allí, obtiene una ventana de error ff3=array([,,,,'0','0','0','0','0','0']) # cada cero corresponde a una letra, en la misma posicion ff4=array([,,'0','0',,'0',,'0','','0']) ff5=array([,,'0','0',,'0',,'0','','0']) ff6=array([,'0','0','0','0','0',,'0','','0']) ff7=array([,,'0',,,,,'0','','0']) ff8=array([,,,,,,,'0',,'0']) ff9=array(['0','0','0','0','0','0','0','0','','0']) ff10=array([,,'0',,,,'0',,,]) matriz_control=array([ff1,ff2,ff3,ff4,ff5,ff6,ff7,ff8,ff9,ff10]) F1=array([,,,,,,,,,]) # media vez el usuario ingrese la fila y columna, la matriz busca la posicion deseada e ingresa la letra F2=array([,,,,,,,,,]) F3=array([,,,,,,,,,]) F4=array([,,,,,,,,,]) F5=array([,,,,,,,,,]) F6=array([,,,,,,,,,]) F7=array([,,,,,,,,,]) F8=array([,,,,,,,,,]) F9=array([,,,,,,,,,]) F10=array([,,,,,,,,,]) matriz_juego=array([F1,F2,F3,F4,F5,F6,F7,F8,F9,F10]) def dibujo_tablero: """Crucigrama  >>> label=ventana   >>> borra=button   >>> ok=button   >>>   >>> dibujo_tablero   >>>   """ global tablero,columna_ingreso,fila_ingreso,letra_ingreso,listo # se crean las variables globales, para usarlas durante todo el programa tablero=Canvas(ventana,width=610,height=580,bg='white') # se crea el canvas, en donde se va a dibujar, el fondo blanco cont=cont2=cont3=0 # contadores, al momento de dibujar, ya que cada cuadro se corre su cordenada en x y y.  #dibuja los cuadros blancos for j in range (0,10): # j toma valores de 0 a 9, el 10 ya no se incluye <10. Se recorre la matriz. for i in range(0,10): # i representa las columnas y j representa las filas tablero.create_rectangle(50+cont,100+cont2,80+cont,130+cont2) # se dan las cordenadas para crear la ventana con cuadros, se corre el x y y para ir creando los cuadros cont=cont+30 # la primera vez se suma 30, luego 60, 90 y así sucesivamente cont2=cont2+30 # lo mismo que el anterior, sólo que para y.  cont=0 # se inia el contador #coloca los numeros en el margen superior y lateral izquierdo for j in range (1,11): tablero.create_text(65+cont3,90,text=j,justify='center',fill='black') # se colocan los números del margen, para describir que fila y columna es  tablero.create_text(40,115+cont3,text=j,justify='center',fill='black') cont3=cont3+30 # se le va sumando 30 cada vez tanto en filas, como en columnas #crea los cuadros de dialogo col_umna=Label(ventana,text='Columna:',bg='white') # se crea una label que dice columna fi_la=Label(ventana,text='Fila:',bg='white') # se crea una label que dice fila le_tra=Label(ventana,text='Letra:',bg='white') # se crea una label que dice letra columna=Entry(ventana,width=5,textvariable=columna_ingreso) # es un pequeño cuadro en donde se ingresa el numero, al cual se le asigna a cada una de las variables de tipo texto que se crearon fila=Entry(ventana,width=5,textvariable=fila_ingreso) # es un pequeño cuadro en donde se ingresa el numero, al cual se le asigna a cada una de las variables de tipo texto que se crearon letra=Entry(ventana,width=5,textvariable=letra_ingreso) #es un pequeño cuadro en donde se ingresa una letra, a la cual se le asigna a cada una de las variables de tipo texto que se crearon listo= Button(ventana,text='OK', width=20,height=5,borderwidth=5,command=escribe) # se crea un boton, que al hacer click, llama la funcion escribe borra=Button(ventana,text='BORRAR', width=20, height=5,borderwidth=5,command=borrar) # se crea un botob, que al hacer click, llama la funcion borrar #muestra el canvas tablero.pack # .pack, sirve para que aparezca el canvas en pantalla col_umna.place(x=50,y=450)# .place, da una coordenada en x y y, que corresponde a la pantalla y va colocando así los objetos columna.place(x=100,y=450) fi_la.place(x=135,y=450) fila.place(x=160,y=450) le_tra.place(x=195,y=450) letra.place(x=230,y=450) listo.place(x=100,y=480) borra.place(x=350,y=480) palabras # se manda a llamar las funciones colocarcuadros colocarnumero def borrar: """Crucigrama  >>> matriz_juego=array([F1,F2,F3,F4,F5,F6,F7,F8,F9,F10])   >>> cont=cont2=cont3=0   >>>   >>> borrar   """ global matriz_control,matriz_juego #MATRIZ EN BLANCO PARA JUGAR F1=array([,,,,,,,,,]) # se inicializan las variables, como si se corriera el programa por primera vez, por lo cual se borra todo lo antes escrito F2=array([,,,,,,,,,]) F3=array([,,,,,,,,,]) F4=array([,,,,,,,,,]) F5=array([,,,,,,,,,]) F6=array([,,,,,,,,,]) F7=array([,,,,,,,,,]) F8=array([,,,,,,,,,]) F9=array([,,,,,,,,,]) F10=array([,,,,,,,,,]) matriz_juego=array([F1,F2,F3,F4,F5,F6,F7,F8,F9,F10]) #matriz que lleva control si ya se ingreso una letra ff1=array([,,,,'','0','0','0','0','0']) ff2=array(['0','0','0','0',,'0',,'0',,]) ff3=array([,,,,'0','0','0','0','0','0']) ff4=array([,,'0','0',,'0',,'0','','0']) ff5=array([,,'0','0',,'0',,'0','','0']) ff6=array([,'0','0','0','0','0',,'0','','0']) ff7=array([,,'0',,,,,'0','','0']) ff8=array([,,,,,,,'0',,'0']) ff9=array(['0','0','0','0','0','0','0','0','','0']) ff10=array([,,'0',,,,'0',,,]) matriz_control=array([ff1,ff2,ff3,ff4,ff5,ff6,ff7,ff8,ff9,ff10]) cont=cont2=cont3=0 #dibuja los cuadros blancos for j in range (0,10): # sirve para lo del anterior for i in range(0,10): tablero.create_rectangle(50+cont,100+cont2,80+cont,130+cont2,fill='white') cont=cont+30 cont2=cont2+30 cont=0 colocarcuadros colocarnumero def escribe: """Crucigrama  >>> columa = 6   >>> fila = 1   >>> letra = p   >>> escribe   >>>   """ if len(letra_ingreso.get)==1: # reviza que solo se ingrese un caracter, no una palabra, .get, para poder obtener que es lo que se encuantra guardado en la variable if (string.upper(letra_ingreso.get)) in ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'): # verifica que lo que se ingresa solo sea letra de A a Z, upper cambia letra a mayúcula en caso fuera minúscula if fila_ingreso.get=='1': # reviza que si la fila ingresada es la 1 if columna_ingreso.get=='1': # reviza la columna tkMessageBox.showerror("Error","En ese cuadro no puede ingresar letras") # ventana de error ya que es cuadro negro elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuadro no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': tkMessageBox.showerror("Error","En ese cuadro no puede ingresar letras") # ventana de error elif columna_ingreso.get=='4': tkMessageBox.showerror("Error","En ese cuadro no puede ingresar letras") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuadro no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': if matriz_control[0][5]=='0': # aqui se indica que no se ha ingresado nada, si no se ha ingresado nada entra al if, para que se ingrese una letra matriz_control[0][5]='1' # ya hay una letra ingresada matriz_tablero(5,0) # convierte posiciones de columna y fila a coordenadas en la pantalla matriz_juego[0][5]=string.upper(letra_ingreso.get) # guarda en la posicion la letra que se ingresa tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') # dibuja la letra, manda las coordenada x y y pantalla else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error, el else corresponde al if de arriba. si ya se ingreso algo, que no se pueda ingresar algo encima de eso. elif columna_ingreso.get=='7': if matriz_control[0][6]=='0': matriz_control[0][6]='1' matriz_tablero(6,0) matriz_juego[0][6]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='8': if matriz_control[0][7]=='0': matriz_control[0][7]='1' matriz_tablero(7,0) matriz_juego[0][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': if matriz_control[0][8]=='0': matriz_control[0][8]='1' matriz_tablero(8,0) matriz_juego[0][8]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='10': if matriz_control[0][9]=='0': matriz_control[0][9]='1' matriz_tablero(9,0) matriz_juego[0][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='2': if columna_ingreso.get=='1': if matriz_control[1][0]=='0': matriz_control[1][0]='1' matriz_tablero(0,1) matriz_juego[1][0]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='2': if matriz_control[1][1]=='0': matriz_control[1][1]='1' matriz_tablero(1,1) matriz_juego[1][1]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='3': if matriz_control[1][2]=='0': matriz_control[1][2]='1' matriz_tablero(2,1) matriz_juego[1][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': if matriz_control[1][3]=='0': matriz_control[1][3]='1' matriz_tablero(3,1) matriz_juego[1][3]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': if matriz_control[1][5]=='0': matriz_control[1][5]='1' matriz_tablero(5,1) matriz_juego[1][5]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='7': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='8': if matriz_control[1][7]=='0': matriz_control[1][7]='1' matriz_tablero(7,1) matriz_juego[1][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif fila_ingreso.get=='3': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='4': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='5': if matriz_control[2][4]=='0': matriz_control[2][4]='1' matriz_tablero(4,2) matriz_juego[2][4]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='6': if matriz_control[2][5]=='0': matriz_control[2][5]='1' matriz_tablero(5,2) matriz_juego[2][5]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='7': if matriz_control[2][6]=='0': matriz_control[2][6]='1' matriz_tablero(6,2) matriz_juego[2][6]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='8': if matriz_control[2][7]=='0': matriz_control[2][7]='1' matriz_tablero(7,2) matriz_juego[2][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': if matriz_control[2][8]=='0': matriz_control[2][8]='1' matriz_tablero(8,2) matriz_juego[2][8]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='10': if matriz_control[2][9]=='0': matriz_control[2][9]='1' matriz_tablero(9,2) matriz_juego[2][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='4': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': if matriz_control[3][2]=='0': matriz_control[3][2]='1' matriz_tablero(2,3) matriz_juego[3][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': if matriz_control[3][3]=='0': matriz_control[3][3]='1' matriz_tablero(3,3) matriz_juego[3][3]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': if matriz_control[3][5]=='0': matriz_control[3][5]='1' matriz_tablero(5,3) matriz_juego[3][5]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='7': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='8': if matriz_control[3][7]=='0': matriz_control[3][7]='1' matriz_tablero(7,3) matriz_juego[3][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': if matriz_control[3][9]=='0': matriz_control[3][9]='1' matriz_tablero(9,3) matriz_juego[3][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='5': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': if matriz_control[4][2]=='0': matriz_control[4][2]='1' matriz_tablero(2,4) matriz_juego[4][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': if matriz_control[4][3]=='0': matriz_control[4][3]='1' matriz_tablero(3,4) matriz_juego[4][3]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': if matriz_control[4][5]=='0': matriz_control[4][5]='1' matriz_tablero(5,4) matriz_juego[4][5]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='7': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='8': if matriz_control[4][7]=='0': matriz_control[4][7]='1' matriz_tablero(7,4) matriz_juego[4][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': if matriz_control[4][9]=='0': matriz_control[4][9]='1' matriz_tablero(9,4) matriz_juego[4][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='6': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': if matriz_control[5][1]=='0': matriz_control[5][1]='1' matriz_tablero(1,5) matriz_juego[5][1]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='3': if matriz_control[5][2]=='0': matriz_control[5][2]='1' matriz_tablero(2,5) matriz_juego[5][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': if matriz_control[5][3]=='0': matriz_control[5][3]='1' matriz_tablero(3,5) matriz_juego[5][3]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='5': if matriz_control[5][4]=='0': matriz_control[5][4]='1' matriz_tablero(4,5) matriz_juego[5][4]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='6': if matriz_control[5][5]=='0': matriz_control[5][5]='1' matriz_tablero(5,5) matriz_juego[5][5]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='7': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='8': if matriz_control[5][7]=='0': matriz_control[5][7]='1' matriz_tablero(7,5) matriz_juego[5][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': if matriz_control[5][9]=='0': matriz_control[5][9]='1' matriz_tablero(9,5) matriz_juego[5][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='7': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': if matriz_control[6][2]=='0': matriz_control[6][2]='1' matriz_tablero(2,6) matriz_juego[6][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='7': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='8': if matriz_control[6][7]=='0': matriz_control[6][7]='1' matriz_tablero(7,6) matriz_juego[6][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': if matriz_control[6][9]=='0': matriz_control[6][9]='1' matriz_tablero(9,6) matriz_juego[6][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='8': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='4': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='7': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='8': if matriz_control[7][7]=='0': matriz_control[7][7]='1' matriz_tablero(7,7) matriz_juego[7][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': if matriz_control[7][9]=='0': matriz_control[7][9]='1' matriz_tablero(9,7) matriz_juego[7][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='9': if columna_ingreso.get=='1': if matriz_control[8][0]=='0': matriz_control[8][0]='1' matriz_tablero(0,8) matriz_juego[8][0]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='2': if matriz_control[8][1]=='0': matriz_control[8][1]='1' matriz_tablero(1,8) matriz_juego[8][1]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='3': if matriz_control[8][2]=='0': matriz_control[8][2]='1' matriz_tablero(2,8) matriz_juego[8][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': if matriz_control[8][3]=='0': matriz_control[8][3]='1' matriz_tablero(3,8) matriz_juego[8][3]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='5': if matriz_control[8][4]=='0': matriz_control[8][4]='1' matriz_tablero(4,8) matriz_juego[8][4]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='6': if matriz_control[8][5]=='0': matriz_control[8][5]='1' matriz_tablero(5,8) matriz_juego[8][5]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='7': if matriz_control[8][6]=='0': matriz_control[8][6]='1' matriz_tablero(6,8) matriz_juego[8][6]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='8': if matriz_control[8][7]=='0': matriz_control[8][7]='1' matriz_tablero(7,8) matriz_juego[8][7]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': if matriz_control[8][9]=='0': matriz_control[8][9]='1' matriz_tablero(9,8) matriz_juego[8][9]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif fila_ingreso.get=='10': if columna_ingreso.get=='1': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='2': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='3': if matriz_control[9][2]=='0': matriz_control[9][2]='1' matriz_tablero(2,9) matriz_juego[9][2]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='4': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='5': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='6': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='7': if matriz_control[9][6]=='0': matriz_control[9][6]='1' matriz_tablero(6,9) matriz_juego[9][6]=string.upper(letra_ingreso.get) tablero.create_text(xpantalla,ypantalla,text=letra_ingreso.get,justify='center',fill='black') else: tkMessageBox.showerror("Error","Ya ingreso una letra en ese cuadro. Ingresar en otra posición") # ventana de error elif columna_ingreso.get=='8': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='9': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif columna_ingreso.get=='10': tkMessageBox.showerror("Error","En ese cuado no puede ingresar letras") # ventana de error elif fila_ingreso.get== and columna_ingreso.get== and letra_ingreso.get=='': # si la fila, columna y latre estan en blanco, aparace un mensaje tkMessageBox.showerror("Error","Debe colocar un valor") # ventana de error if (fila_ingreso.get ) not in ('1','2','3','4','5','6','7','8','9','10'): tkMessageBox.showerror("Error","Debe ingresar un numero") # ventana de error # .showerror, es una ventana predefinida para errores, se ingresa el titulo y el mensaje if columna_ingreso.get not in ('1','2','3','4','5','6','7','8','9','10'): tkMessageBox.showerror("Error","Debe ingresar un numero") # ventana de error else: tkMessageBox.showerror("Error","Solo puede ingresar letras!") # ventana de error, letras else: tkMessageBox.showerror("Error","Solo puede ingresar una letra!") # ventana de error, un caracter revisa # manda a llamar la siguiente funcion def revisa: """Crucigrama  >>> cont=0   >>> cont2=0   >>>   >>> revisa   >>>   """ cont=0 # se inician los contadores cont2=0 for i in range(0,10): for j in range(0,10): if matriz_control[i][j]!='' and matriz_control[i][j] =='1': # recorre dos matrices, si en la matriz control no hay espacio en blanco y si ese espacio es = 1, entonces al contador s el suma un valor, es decir, incrementa en 1 cont=cont+1 if cont==50: # si contador vale 50, quiere decir que todas las posiciones estan llenas for i in range(0,10): # recorre la matriz, filas for j in range(0,10): # columnas if matriz_juego[i][j]== matriz_solucion[i][j]: # se reviza si la letra ingresada corresponde a la solucion cont2=cont2+1 # se incrementa el contador para revizar las casillas if cont2==100: # reviza la matriz completa, chequea si las letras son correctas listo= Button(ventana,text='OK', width=20,height=5,borderwidth=5,command=escribe,state=DISABLED) # los botones se bloquean, para que ya no se pueda seguir jugando listo.place(x=100,y=480) # coordenadas para colocar el boton borra=Button(ventana,text='BORRAR', width=20, height=5,borderwidth=5,command=borrar,state=DISABLED) # se bloquea borra.place(x=350,y=480) tkMessageBox.showinfo("Felicidades!!","GANO!!!") # ventana de ganadores def matriz_tablero(x,y): # se convierten las coordenadas de matriz(posiciones) a las coordenadas de pantalla y que asigna valores a x pantalla y y pantalla """Crucigrama  >>>   >>> x=0   >>> x=1   >>> x=2   >>> x=3   >>> x=4   >>> x=5   >>> letra = p   >>> matriz_tablero(x,y)   >>>      """ global xpantalla,ypantalla if x==0 and y==0: return 50,100,80,130 if x==1 and y==0: return 50+30,100,80+30,130 if x==2 and y==0: return 50+60,100,80+60,130 if x==3 and y==0: return 50+90,100,80+90,130 if x==4 and y==0: return 50+120,100,80+120,130 if x==5 and y==0: xpantalla=215 ypantalla=110 return 50+150,100,80+150,130 if x==6 and y==0: xpantalla=245 ypantalla=110 return 50+180,100,80+180,130 if x==7 and y==0: xpantalla=275 ypantalla=110 return 50+210,100,80+210,130 if x==8 and y==0: xpantalla=305 ypantalla=110 return 50+240,100,80+240,130 if x==9 and y==0: xpantalla=335 ypantalla=110 return 50+270,100,80+270,130 if x==0 and y==1: xpantalla=65 ypantalla=140 return 50,100+30,80,130+30 if x==1 and y==1: xpantalla=95 ypantalla=140 return 50+30,100+30,80+30,130+30 if x==2 and y==1: xpantalla=125 ypantalla=140 return 50+60,100+30,80+60,130+30 if x==3 and y==1: xpantalla=155 ypantalla=140 return 50+90,100+30,80+90,130+30 if x==4 and y==1: return 50+120,100+30,80+120,130+30 if x==5 and y==1: xpantalla=215 ypantalla=140 return 50+150,100+30,80+150,130+30 if x==6 and y==1: return 50+180,100+30,80+180,130+30 if x==7 and y==1: xpantalla=275 ypantalla=140 return 50+210,100+30,80+210,130+30 if x==8 and y==1: return 50+240,100+30,80+240,130+30 if x==9 and y==1: return 50+270,100+30,80+270,130+30 if x==0 and y==2: return 50,100+60,80,130+60 if x==1 and y==2: return 50+30,100+60,80+30,130+60 if x==2 and y==2: return 50+60,100+60,80+60,130+60 if x==3 and y==2: return 50+90,100+60,80+90,130+60 if x==4 and y==2: xpantalla=185 ypantalla=170 return 50+120,100+60,80+120,130+60 if x==5 and y==2: xpantalla=215 ypantalla=170 return 50+150,100+60,80+150,130+60 if x==6 and y==2: xpantalla=245 ypantalla=170 return 50+180,100+60,80+180,130+60 if x==7 and y==2: xpantalla=275 ypantalla=170 return 50+210,100+60,80+210,130+60 if x==8 and y==2: xpantalla=305 ypantalla=170 return 50+240,100+60,80+240,130+60 if x==9 and y==2: xpantalla=335 ypantalla=170 return 50+270,100+60,80+270,130+60 if x==0 and y==3: return 50,100+90,80,130+90 if x==1 and y==3: return 50+30,100+90,80+30,130+90 if x==2 and y==3: xpantalla=125 ypantalla=200 return 50+60,100+90,80+60,130+90 if x==3 and y==3: xpantalla=155 ypantalla=200 return 50+90,100+90,80+90,130+90 if x==4 and y==3: return 50+120,100+90,80+120,130+90 if x==5 and y==3: xpantalla=215 ypantalla=200 return 50+150,100+90,80+150,130+90 if x==6 and y==3: return 50+180,100+90,80+180,130+90 if x==7 and y==3: xpantalla=275 ypantalla=200 return 50+210,100+90,80+210,130+90 if x==8 and y==3: return 50+240,100+90,80+240,130+90 if x==9 and y==3: xpantalla=335 ypantalla=200 return 50+270,100+90,80+270,130+90 if x==0 and y==4: return 50,100+120,80,130+120 if x==1 and y==4: return 50+30,100+120,80+30,130+120 if x==2 and y==4: xpantalla=125 ypantalla=230 return 50+60,100+120,80+60,130+120 if x==3 and y==4: xpantalla=155 ypantalla=230 return 50+90,100+120,80+90,130+120 if x==4 and y==4: return 50+120,100+120,80+120,130+120 if x==5 and y==4: xpantalla=215 ypantalla=230 return 50+150,100+120,80+150,130+120 if x==6 and y==4: return 50+180,100+120,80+180,130+120 if x==7 and y==4: xpantalla=275 ypantalla=230 return 50+210,100+120,80+210,130+120 if x==8 and y==4: return 50+240,100+120,80+240,130+120 if x==9 and y==4: xpantalla=335 ypantalla=230 return 50+270,100+120,80+270,130+120 if x==0 and y==5: return 50,100+150,80,130+150 if x==1 and y==5: xpantalla=95 ypantalla=260 return 50+30,100+150,80+30,130+150 if x==2 and y==5: xpantalla=125 ypantalla=260 return 50+60,100+150,80+60,130+150 if x==3 and y==5: xpantalla=155 ypantalla=260 return 50+90,100+150,80+90,130+150 if x==4 and y==5: xpantalla=185 ypantalla=260 return 50+120,100+150,80+120,130+150 if x==5 and y==5: xpantalla=215 ypantalla=260 return 50+150,100+150,80+150,130+150 if x==6 and y==5: return 50+180,100+150,80+180,130+150 if x==7 and y==5: xpantalla=275 ypantalla=260 return 50+210,100+150,80+210,130+150 if x==8 and y==5: return 50+240,100+150,80+240,130+150 if x==9 and y==5: xpantalla=335 ypantalla=260 return 50+270,100+150,80+270,130+150 if x==0 and y==6: return 50,100+180,80,130+180 if x==1 and y==6: return 50+30,100+180,80+30,130+180 if x==2 and y==6: xpantalla=125 ypantalla=290 return 50+60,100+180,80+60,130+180 if x==3 and y==6: return 50+90,100+180,80+90,130+180 if x==4 and y==6: return 50+120,100+180,80+120,130+180 if x==5 and y==6: return 50+150,100+180,80+150,130+180 if x==6 and y==6: return 50+180,100+180,80+180,130+180 if x==7 and y==6: xpantalla=275 ypantalla=290 return 50+210,100+180,80+210,130+180 if x==8 and y==6: return 50+240,100+180,80+240,130+180 if x==9 and y==6: xpantalla=335 ypantalla=290 return 50+270,100+180,80+270,130+180 if x==0 and y==7: return 50,100+210,80,130+210 if x==1 and y==7: return 50+30,100+210,80+30,130+210 if x==2 and y==7: return 50+60,100+210,80+60,130+210 if x==3 and y==7: return 50+90,100+210,80+90,130+210 if x==4 and y==7: return 50+120,100+210,80+120,130+210 if x==5 and y==7: return 50+150,100+210,80+150,130+210 if x==6 and y==7: return 50+180,100+210,80+180,130+210 if x==7 and y==7: xpantalla=275 ypantalla=320 return 50+210,100+210,80+210,130+210 if x==8 and y==7: return 50+240,100+210,80+240,130+210 if x==9 and y==7: xpantalla=335 ypantalla=320 return 50+270,100+210,80+270,130+210 if x==0 and y==8: xpantalla=65 ypantalla=350 return 50,100+240,80,130+240 if x==1 and y==8: xpantalla=95 ypantalla=350 return 50+30,100+240,80+30,130+240 if x==2 and y==8: xpantalla=125 ypantalla=350 return 50+60,100+240,80+60,130+240 if x==3 and y==8: xpantalla=155 ypantalla=350 return 50+90,100+240,80+90,130+240 if x==4 and y==8: xpantalla=185 ypantalla=350 return 50+120,100+240,80+120,130+240 if x==5 and y==8: xpantalla=215 ypantalla=350 return 50+150,100+240,80+150,130+240 if x==6 and y==8: xpantalla=245 ypantalla=350 return 50+180,100+240,80+180,130+240 if x==7 and y==8: xpantalla=275 ypantalla=350 return 50+210,100+240,80+210,130+240 if x==8 and y==8: return 50+240,100+240,80+240,130+240 if x==9 and y==8: xpantalla=335 ypantalla=350 return 50+270,100+240,80+270,130+240 if x==0 and y==9: return 50,100+270,80,130+270 if x==1 and y==9: return 50+30,100+270,80+30,130+270 if x==2 and y==9: xpantalla=125 ypantalla=380 return 50+60,100+270,80+60,130+270 if x==3 and y==9: return 50+90,100+270,80+90,130+270 if x==4 and y==9: return 50+120,100+270,80+120,130+270 if x==5 and y==9: return 50+150,100+270,80+150,130+270 if x==6 and y==9: xpantalla=245 ypantalla=380 return 50+180,100+270,80+180,130+270 if x==7 and y==9: return 50+210,100+270,80+210,130+270 if x==8 and y==9: return 50+240,100+270,80+240,130+270 if x==9 and y==9: return 50+270,100+270,80+270,130+270 def colocarcuadros: """Crucigrama  >>>   >>> [j][1]=100   >>> [j][1]==160   >>>   >>> colocarcuadros   >>>   """ x=[] # se crea una lista vacia cont=cont2=0 # se inicia el contador for j in range (0,10): # recorre la matriz for i in range(0,10): if matriz_solucion[i][j]=='': # se reaviza que el cuadro este en blanco, para colocar un cuadro negro if matriz_tablero(j,i)!=None: # se devuelven las coordenadas de pantalla, para guardarlas en la lista x, se reviza que se devuelva un valor, si este no se devuelve, python indica None x.append(matriz_tablero(j,i))# se guarda la posicion, .append sirve para ingresar datos a lista cont=cont+1 for j in range (0,cont): # se recorre la lista x, la cual va de 0 a contador(depende de la cantidad de datos que se ingrese en la lista) if x[j][1]==100: tablero.create_rectangle(x[j][0],100,x[j][2],130,fill='black') if x[j][1]==130: tablero.create_rectangle(x[j][0],100+30,x[j][2],130+30,fill='black') if x[j][1]==160: tablero.create_rectangle(x[j][0],100+60,x[j][2],130+60,fill='black') if x[j][1]==190: tablero.create_rectangle(x[j][0],100+90,x[j][2],130+90,fill='black') if x[j][1]==220: tablero.create_rectangle(x[j][0],100+120,x[j][2],130+120,fill='black') if x[j][1]==250: tablero.create_rectangle(x[j][0],100+150,x[j][2],130+150,fill='black') if x[j][1]==280: tablero.create_rectangle(x[j][0],100+180,x[j][2],130+180,fill='black') if x[j][1]==310: tablero.create_rectangle(x[j][0],100+210,x[j][2],130+210,fill='black') if x[j][1]==340: tablero.create_rectangle(x[j][0],100+240,x[j][2],130+240,fill='black') if x[j][1]==370: tablero.create_rectangle(x[j][0],100+270,x[j][2],130+270,fill='black') def colocarnumero: """Crucigrama  >>>   >>> tablero.create_text(205, 105, text="1"   >>>   >>> colocarnumero   >>>   """   #horizontales   tablero.create_text(205,105,text='1',justify='left',fill='black',font=('Calibri',7)) # se colocan los numeros, para verificar si son verticales u horizontales   tablero.create_text(55,135,text='2',justify='left',fill='black',font=('Calibri',7))     tablero.create_text(175,165,text='3',justify='left',fill='black',font=('Calibri',7))     tablero.create_text(85,255,text='4',justify='left',fill='black',font=('Calibri',7))     tablero.create_text(55,345,text='5',justify='left',fill='black',font=('Calibri',7))     #verticales     tablero.create_text(115,195,text='1',justify='left',fill='black',font=('Calibri',7))     tablero.create_text(145,195,text='2',justify='left',fill='black',font=('Calibri',7))     tablero.create_text(205,135,text='3',justify='left',fill='black',font=('Calibri',7)) tablero.create_text(265,135,text='4',justify='left',fill='black',font=('Calibri',7)) tablero.create_text(325,345,text='5',justify='left',fill='black',font=('Calibri',7)) tablero.create_text(115,345,text='6',justify='left',fill='black',font=('Calibri',7)) tablero.create_text(235,345,text='7',justify='left',fill='black',font=('Calibri',7)) def palabras: # escribe la descripcion de las palabras """Crucigrama  >>>   >>> perro=amigo del hombre   >>> iglu= casa de esquimal   >>> batear= pegarle a un pelota de base   >>> santiago= capital de chile   >>>   >>> colocarcuadros   >>>   """ #variables con texto perro='1.El mejor amigo del hombre'# variable con texto iglu='2.Casa del esquimal' batear='3.Acción de pegarle a la pelota con un bate' pele='4.Jugador de Brasil con más de 1000 goles' santiago='5.Capital de Chile' horizontales='HORIZONTALES' #crear labels h0=Label(ventana,text=horizontales,bg='black',fg='white',font=('Helvetica',11)) h1=Label(ventana,text=perro,bg='white') h2=Label(ventana,text=iglu,bg='white') h3=Label(ventana,text=batear,bg='white') h4=Label(ventana,text=pele,bg='white') h5=Label(ventana,text=santiago,bg='white') #colocar labels h0.place(x=400,y=100) h1.place(x=400,y=100+20) h2.place(x=400,y=100+40) h3.place(x=400,y=100+60) h4.place(x=400,y=100+80) h5.place(x=400,y=100+100) #variables con texto oleo='1.Cuadro con pintura de aceite' sol='2.Astro rey' carro='3.Sinónimo de automóvil' mercurio='4.Planeta más cercano al sol' jupiter='5.Planeta más grande' no='6.Negación' go='7.En inglés: ir' verticales='VERTICALES' #crear labels v0=Label(ventana,text=verticales,bg='black',fg='white',font=('Helvetica',11)) v1=Label(ventana,text=oleo,bg='white') v2=Label(ventana,text=sol,bg='white') v3=Label(ventana,text=carro,bg='white') v4=Label(ventana,text=mercurio,bg='white') v5=Label(ventana,text=jupiter,bg='white') v6=Label(ventana,text=no,bg='white') v7=Label(ventana,text=go,bg='white') #colocar labels v0.place(x=400,y=220) v1.place(x=400,y=220+20) v2.place(x=400,y=220+40) v3.place(x=400,y=220+60) v4.place(x=400,y=220+80) v5.place(x=400,y=220+100) v6.place(x=400,y=220+120) v7.place(x=400,y=220+140) ventana.title('Crucigrama') # titulo de la ventana dibujo_tablero # llama la funcion principal, donde se encuantran los botones ventana.mainloop # llama la funcion #import doctest #doctest.testmod(verbose=True)
 * 1) Universidad del Valle de Guatemala
 * 2) crucigrama.py
 * 3) Sección 20
 * 4) Grupo 4
 * 5) Ana Isabel Sterkel, carné No. 09236
 * 6) Andrés Guzmán, carné No. 09220
 * 7) Sofía Gutiérrez, carné No. 09890
 * 8) Este programa es un juego de crucigrama
 * 9) Fecha de entrega: 14 de octubre de 2009
 * 10) se importan todos los mòdulos a usar
 * 1) se importan todos los mòdulos a usar
 * 1) se importan todos los mòdulos a usar
 * 1) DEFINICION DE VARIABLES
 * 1) MATRIZ CON LA SOLUCION
 * 1) matriz que lleva control si ya se ingreso una letra
 * 1) MATRIZ EN BLANCO PARA JUGAR
 * 1) funcion que dibuja los cuadros en blanco y negros del crucigrama
 * 1) dibuja la desripción de las palabras,los cuadros negros y numeritos de cada palabra
 * 1) funcion que deja en blanco el tablero e inicializa todas las variables
 * 1) funcion que escribe las letras
 * 1) funcion que revisa si ya gano
 * 1) convierte la posicion de la matriz en posicion en la pantalla
 * 1) funcion que coloca los cuadros negros en el tablero
 * 1) funcion que coloca los numeros de las palabras en los cuadritos
 * 1) funcion que tiene la descripcion de cada palabra
 * 1) horizontales
 * 1) verticales
 * 1) PROGRAMA PRINCIPAL
 * 1) DOCTEST
 * 2) def prueba: