Tareas

De Wiki del curso de C
Revisión del 19:40 24 abr 2017 de Carfalgar (discusión | contribuciones) (Tarea 2: Estructurado, estructuras y makefile)
Saltar a: navegación, buscar

Tarea 1: Versión inicial del mundo

  1. Haz un fork del repositorio con tu nombre
  2. Clona tu repositorio
  3. Completa el esqueleto proporcionado para implementar una primera versión funcional del juego de la vida
  4. Sube los cambios al tu repositorio
  5. Haz un pull request
  6. Arregla las correcciones del profesor
  7. Sube las correcciones a tu repo
  8. ¿Has conseguido que te acepten el pull request?
    1. NO -> goto 6
    2. Sí -> ¡Enhorabuena! Ya has terminado la tarea 1

Tarea 2: Código modular, estructuras y makefile

a) Divide tu programa en 3 fichero:

  • main.c : Implementará el bucle principal del juego
  • gol.h  : Tendrá las declaraciones de las funciones relacionadas con el juego de la vida
  • gol.c  : Tendrá las definiciones de las funciones anteriores

b) Crea un makefile para gestionar la compilación y dependencias

Tarea 3: Primera aproximación a objetos

1. Encapsula tu mundo en la siguiente estructura:

struct world {
        bool w1[W_SIZE_X][W_SIZE_Y];
        bool w2[W_SIZE_X][W_SIZE_Y];
};

2. Modifica tus funciones para que reciban un puntero a tu objeto. Añade el modificador const siempre que no sea necesario modificar el objeto

Tu main.c debería quedar más o menos así:

#include <stdio.h>
#include <stdlib.h>
#include "gol.h"

int main()
{
	int i = 0;
	struct world w;

	world_init(&w);
	do {
		printf("\033cIteration %d\n", i++);
		world_print(&w);
		world_step(&w);
	} while (getchar() != 'q');

	return EXIT_SUCCESS;
}