Material‎ > ‎

Trabajo Práctico 1

El objetivo del trabajo práctico es implementar un simulador para el autómata celular Conway's Game of Life.

El "tablero de juego" es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Cada célula tiene 8 células vecinas, que son las que están próximas a ella, incluidas las diagonales. Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas"). El estado de la malla evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan simultáneamente.

Las transiciones dependen del número de células vecinas vivas:
  • Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva).
  • Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación").

Consigna

Se provee una implementación incompleta del Game of Life. El objetivo es completar la implementación en todos los lugares donde dice return '???'. Una vez comlpetado, al ejecutar python life.py debería verse el funcionamiento del Game of Life.

Notar que el código incluye pruebas utilizando la instrucción de Python assert <condición>, que pueden ser de utilidad para entender cuál es el resultado esperado de cada función en diferentes casos. El simulador funcionará sólamente cuando todas las pruebas pasen correctamente. No es necesario agregar ni modificar pruebas.

Criterios de aprobación

A continuación se describen los criterios y lineamientos que deben respetarse en el desarrollo del trabajo.

Informe

El mismo debe incluír el nombre de la materia, cátedra, práctica, el nombre del alumno, padrón y ayudante a cargo.
Comentar en menos de una carilla cuál fue el mayor inconveniente que tuvieron o qué problema les resultó más interesante a la hora de resolver el TP. ¿Por qué? ¿Cómo lo resolvieron?

Entrega

La entrega del trabajo consiste en:
  • El informe y código fuente impresos. Para el código fuente utilizar una tipografía monoespaciada.
  • El informe en formato PDF.
  • Una versión digital de todos los archivos .py de código, separado del informe.
El informe y código fuente impreso deben entregarse en clase. Los dos últimos (PDF y código fuente) deben enviarse utilizando el formulario de entregas.
ċ
life.py
(7k)
Diego Essaya,
24 mar. 2017 11:28