Laboratorio 5: "Memory"

Post date: Feb 15, 2013 6:13:33 PM

El objetivo de este laboratorio de final de tercio es evaluar características del lenguaje de programación Python y el ambiente CodeSkulptor. Para ello, el estudiante deberá modificar una versión del juego "Memory" en CodeSkulptor y entregar una versión "más interesante" de este juego.

"Memory" es uno de tantos juegos de cartas. Puede ver sus reglas y algunas variaciones en Wikipedia.

El taller se desarrollará en CodeSkulptor utilizando esta plantilla. Es importante que siga las convenciones e instrucciones allí expuestas.

Siguiendo la plantilla, identifique:

  1. Las constantes y variables globales que allí se encuentran definidas.
  2. La función init(); esta función se invoca cada vez que se inicia una partida del juego.
  3. La función draw(canvas); esta función se invoca aproximadamente 60 veces por segundo y su objetivo es actualizar el estado del juego y de la interfaz gráfica.
  4. Las función keymouseclick(pos); esta función se encargan de registrar los eventos asociados al ratón.

Una vez familiarizados con el código de la plantilla, lleve a cabo los siguientes cambios en la plantilla:

  1. (10 pts) Invertir el uso de los colores azul y naranja.
  2. (10 pts) Actualmente el se juega con 8 pares de cartas, representadas por pares de valores entre 0 y 7, inclusive. Aumente el número de parejas a 10, representando los pares de valores con los números entre 0 y 9, y ajustando coherentemente el tamaño de la ventana en donde se muestra el juego.
  3. (10 pts) Indicar al usuario por medio de un mensaje de advertencia en la consola cada vez que se escoje una carta que ya ha sido 'destapada'.
  4. (10 pts) Registrar la cantidad de escogencias erróneas (es decir, escogencia de cartas ya destapadas) mostrando esa información de una forma similar a como se muestra la información de 'Moves'. Cada vez que se re-inicia el juego, la información de errores inicia a contar desde 0.
  5. (10 pts) Cambiar el tamaño de las cartas de 50x100 pixeles a 60x90 pixeles, ajustando coherentemente el tamaño de la ventana en donde se muestra el juego.

El laboratorio es individual y la instrucciones de entrega se darán durante la sesión.