Sergio Guiral Angulo Luis G. Ezquerra Herrando PROGRAMA Juego De La Vida. El mecanismo de transmision (entrada,salida) ha sido te tipo write/readln, añadiendo robustez mediante condicionales y la función IOResult. Hemos utilizado la funcion uses crt, "CLRSCR" para limpiar pantalla y "TextColor" para modificar colores. Hemos usado un vector bidimensional en el cual, cada una de sus componentes es un registro que guarda dos camposregistro para cada casilla del tablero. De esta manera podremos agrupar datos heterogeneos en una sola estructura. En este caso tendremos el numero de celulas vivas vecinas que es de tipo entero y el tipo de celula. Para esto hemos creado dos tipos nuevos que estan declarados. Para entrar en el modo ejecución es necesario tener un tablero primero, por eso nuestro programa no permite entrar en el modo ejecución sin antes haber creado o cargado un mundo. Hemos creado varios procedimientos los cuales son: - Procedimiento crear mundo: - Desarrollo: Se encarga de crear el tablero. Primero crea un tablero con todo celulas muertas mediante dos "FOR" dentro de otros dos. Tambien hemos puesto un "RANDOM" para que salga una probabilidad aleatoria y se añadan las celulas vivas correspondientes mediante un "IF". - variables utilizadas: - Por referencia: matriz, fil, col, prob - Varibles locales: i, j, s - Procedimiento Dibujar matriz: - Desarrollo: Se encarga de dibujar la matriz creada anteriormente. Esto se consigue usando un "FOR" dentro de otro "FOR". - variables utilizadas: - Por referencia: matriz, fil, col - Varibles locales: i, j, - Procedimiento NVivas: - Desarrollo: Se encarga de calcular el numero de celulas vivas que tiene cada una alrededor.Esto se consigue usando dos "FOR" dentro de otros dos "FOR" para ir seleccionando las distintas celulas y dos esturcturas "IF" para compararlas. - variables utilizadas: - Por referencia: matriz, fil, col - Varibles locales: i, j, v, w - Procedimiento VidaoMuerte: - Desarrollo: Calcula si una celula debe vivir o morir. Esto se consigue usando un "FOR" dentro de otro "FOR" para moverte por el tablero y un "IF" para compararlas y otorgarles un estado. -variables utilizadas: - Por referencia: matriz, fil, col, X, Y, Z - Varibles locales: i, j - Procedimiento Menu1: - Desarrollo: Se encarga de pedir al usuario todos los datos necesarios para crear el tablero. Hemos colocado la funcion "IORESULT" para evitar errores en la introduccion de caracteres por valores numericos y "WHILE" para que repita la peticion de datos hasta la correcta. - variables utilizadas: - Por referencia: matriz, fil, col, prob - Varibles locales: i, j - Procedimiento Menu2: - Desarrollo: Se encarga de pedir las consignas del menu ejecucion. Hemos colocado la funcion "IORESULT" para evitar errores en la introduccion de caracteres por valores numericos y "WHILE" para que repita la peticion de datos hasta la correcta. Tambien hemos utilizado la estructura "CASE", para aplicar un caso u otro segun las aplicaciones del juego. - variables utilizadas: - Por referencia: matriz, fil, col, turnos, X, Y, Z - Por valor: Men2, Men3 - Varibles locales: i, j, v, w -Funcion Cargar_mundo: (INCOMPLETA) - Programa principal: - Desarrollo: Principalmente se encarga de pedir las consignas del menu principal, comprobar si son correctas y llamar a los procedimientos. - variables utilizadas: menu,men2,men3,turnos,n,fil,col,i,j,v,w,X,Y,Z,t:integer prob,s:real tableroCreado:boolean matriz:tpMatriz mundo:String; ---------------------------- (añadido tras someter) ---------------------------- 21:37:50 11/12/09 -> Segun los datos introducidos los ficheros son: G06P07D2 -> Los autores del trabajo son: Ezquerra Herrando, Luis Guillermo Guiral Angulo, Sergio Nombres originales de los archivos entregados -> VIDA.PAS, archivo_vida.txt