progfuenteS10G07


 * 1) Abraham Chavez, 09079
 * 2) Mario Campos, 09527
 * 3) Paul Luttmann,
 * 4) proyecto3.py
 * 5) este pryecto utiliza interfaz graficas, uso de listas e calculos matematicos
 * 6) para efectuar unjuego de memoria
 * 7) 9 de noviembre de 2009
 * 1) 9 de noviembre de 2009

from Gui import *# se importa el modulo Gui para crear una presentasion grafica

import random

g = Gui g.title('Memoria') canvas = g.ca(width =300,height=400) canvas.config(bg='white')

lista=[]# variables globales utilizadas en elprograma para desarrollarlo conteo1=0 conteo2=0 comandoslista=[]

def pieza1:# esta le devuelve el color al primer item """ esta funcion crea una figura con un color especifico despues de que se pulsa el boton que llama a la misma. esta se utiliza para llevar un conteo, cada vez que se pulse el boton cuyo comando es esta funcion esta despliegue la figura """ global conteo1 global conteo2 item1 = canvas.circle([0,0], 30, fill='red') conteo1+=1 return conteo1

def pieza2: """ esta funcion crea una figura con un color especifico despues de que se pulsa el boton que llama a la misma. esta se utiliza para llevar un conteo, cada vez que se pulse el boton cuyo comando es esta funcion esta despliegue la figura """ global conteo1 global conteo2 item2 = canvas.circle([0,80], 30, fill='yellow') conteo2=conteo2+1 return conteo2

def pieza3 : """ esta funcion crea una figura con un color especifico despues de que se pulsa el boton que llama a la misma. esta se utiliza para llevar un conteo, cada vez que se pulse el boton cuyo comando es esta funcion esta despliegue la figura """ global conteo1 global conteo2 item3 = canvas.circle([80,80], 30, fill='red') conteo1= conteo1+1 return conteo1

def pieza4 : """ esta funcion crea una figura con un color especifico despues de que se pulsa el boton que llama a la misma. esta se utiliza para llevar un conteo, cada vez que se pulse el boton cuyo comando es esta funcion esta despliegue la figura """ global conteo1 global conteo2 item4 = canvas.circle([80,0], 30, fill='yellow') conteo2= conteo2+1 return conteo2

def circulos:# esta funcion crea las primeras posiciones de los diferentes colores a mostrar """ con esta funcion se crea el juego, es el "chivo del mismo al pulsar el boton que esta encargado de ejecutar esta funcion esta misma despliega las imagenes y las posiciones de la misma dando asi una ayuda al usuario de aprenderse la secuencia """ global lista global conteo1 global conteo2 lista =[0,1,2,3]

lista[0] = canvas.circle([0,0], 30, fill='red')#dentro de cada posicion de index de la lista se incluyo una figura diferente lista[1] = canvas.circle([0,80], 30, fill='yellow') lista[2] = canvas.circle([80,80], 30, fill='red') lista[3] = canvas.circle([80,0], 30, fill='yellow')

return lista

def evaluar:#esta funcion desarrolla todo el juego """ esta funcion se encarga de efectuar el juego utilizando los contadores desplegados esta evaluara la accion y respondera ya sea finalizando el juego o reiniciandolo pues el usuario se confundio """ global conteo1 global conteo2 global comandoslista comandoslista = [0,1,2,3]

comandoslista[0] = canvas.circle([0,0], 30, fill='grey') comandoslista[1] = canvas.circle([0,80], 30, fill='grey') comandoslista[2] = canvas.circle([80,80], 30, fill='grey') comandoslista[3] = canvas.circle([80,0], 30, fill='grey') g.bu(text = 'mostrar pieza 1', command = pieza1)#estos botones llevan muestran las imagenes al ser pulsados g.bu(text = 'mostrar pieza 2', command = pieza2) g.bu(text = 'mostrar pieza 3', command = pieza3) g.bu(text = 'mostrar pieza 4', command = pieza4)

def ganasoperdes: global conteo1 global conteo2 global comandoslista while conteo1!=0 and conteo2!=0:

if conteo1==2 and conteo2==2: label1=g.la(text="haz ganado!!!!")

else: comandoslista[0] = canvas.circle([0,0], 30, fill='grey') comandoslista[1] = canvas.circle([0,80], 30, fill='grey') comandoslista[2] = canvas.circle([80,80], 30, fill='grey') comandoslista[3] = canvas.circle([80,0], 30, fill='grey') conteo1==0 conteo2==0

def _test : import doctest doctest.testmod

if __name__=="__main__": _test

g.bu(text='mostrar figuras', command=circulos)# este boton muesta las posiciones y los colores de las figuras en cuestion g.bu(text='empezar juego', command = evaluar)# este boton vuelve el color de las fugiran en uno uniforme (gris) ganasoperdes

g.mainloop