Trabajo
De Wiki del curso de C
Contenido
Información
El proyecto del curso va a ser implementar una versión de el juego de la vida. Se hará de forma incremental, aplicando los conceptos impartidos en cada clase.
Enlaces de interés
- Sobre el juego de la vida: https://es.wikipedia.org/wiki/Juego_de_la_vida
- Simulador web: http://pmav.eu/stuff/javascript-game-of-life-v3.1.1/
- Simulador de escritorio Golly (recomendado): http://golly.sourceforge.net/
Tareas
- Las tareas se entregarán mediante un pull request, tal y como se explica en este documento.
- Cada tarea deberá componerse de uno o más commits (preferiblemente varios si es compleja).
- No se aceptará un pull request que incluya varias tareas.
- Se recomienda que se realicen las tareas antes de la fecha de entrega, ya que se mandarán tareas nuevas que se irán acumulando.
Versión inicial del juego de la vida
Temas | Fecha de entrega |
---|---|
1-5 | 08/04/2016 |
Implementa una primera versión del juego de la vida:
- Utiliza una programación modular y crea un makefile para automatizar la compilación
- Representa el mundo mediante un array bidimensional de tamaño fijo
- Ejecuta un numero fijo de iteraciones
- Muestra el estado inicial y final del mundo mediante printf
- Comprueba los resultados obtenidos con uno de los simuladores enlazados
Utilizar reserva dinámica de memoria y objetos
Temas | Fecha de entrega |
---|---|
6-7 | 19/04/2016 |
- El tamaño del mundo debe poder elegirse en tiempo de ejecución
- Descompón tu programa en los módulos y objeto(s) que creas convenientes.
Argumentos de main y listas encadenadas
Temas | Fecha de entrega |
---|---|
8-9 | 23/04/2016 |
- Haz que el tamaño de tu mundo se pueda pasar como argumentos al lanzar tu programa. Utiliza getoptlong
- Utiliza las listas encadenadas del núcleo de linux para optimizar el recorrer las células vivas. Por cada una de las células vivas debes inspeccionar ésta y sus vecinas.