Álvaro Vallejo Alcázar Ing. Téc. Ind. Química. NIP: 583920 Grupo: 10 Puesto: 08 Practica de diseño 2: El juego de la vida El programa usa dos tipos que se usaran a lo largo de todo el juego, un vector de dos dimensiones de booleanos "tcasilla" que guardara la información sirve a modo tablero y guarda la información de si la casilla esta muerta o viva, este vector se incluye en un registro en tab.cas que también guarda la dimensión(el largo) del tablero de juego en “tab.dim”. El procedimiento "creartablero" una variable de tipo ttablero de entrada y salida, su objetivo es crear una matriz, primero se introduce su tamaño en el registro y luego se recorre cada punto de las dos dimensiones del vector dentro del registro asignando a cada uno un valor verdadero(viva) o falso(muerta), esta asignación dependerá de un valor de probabilidad que creamos aleatoriamente, y creando en cada casilla otro valor que compararemos con la probabilidad, al final se usa el procedimiento "dibujartab". El procedimiento "dibujartab" toma la variable de tipo ttablero solo de entrada, pues solo tiene que mostrar la información del tablero por pantalla, recorriendo todo el vector “tab.cas” y escribiendo una ‘@’ en el caso de que que este viva y un ‘-‘ en el caso de que este muerta. En el procedimiento “reglas” usamos unas variables x, y, z de tipo entero, cuyo significado se muestra por pantalla tal como venia en el enunciado de la práctica, por medio de la elección del valor de la variable “cambio” de tipo carácter podemos cambiar estos valores o poner los de por defecto, siendo por ello de salida, y avisando a otras partes del programa si han sido modificados o no mediante una variable de entrada y salida de tipo booleano. En el procedimiento “juego” es donde sucede la modificación de las casillas del tablero, para ello introducimos el tablero de entrada y salida a modificar y las variables x,y,z, explicadas en el procedimiento anterior, también usaremos una variable “aux” de tipo ttablero en el que guaradaremos los cambios que afecten a cada casilla sin modificar el tablero principal, primero se recorren las el vector para saber si la casilla esta viva con las variables “i” y “j”, y en cada casilla volvemos a recorrer las que le rodean con las variables “k” y “l”, la propia casilla también se recorre a si misma, por eso si esta viva el contador “cont” de tipo entero que contabiliza las casillas vivas empieza desde -1, este procedimiento termina copiando el tablero auxiliar en el principal de salida para posteriores cambios. El procedimiento PasoAPaso toma la variable tab de entada y salida, y solo como de entrada los parámetros x, y, z que se usan en el procedimiento “juego”, este módulo nos pedirá cuantas veces queremos repetir el procedimiento “juego” con su correspondiente dibujo por pantalla con “dibujartab” por medio de la variable “turnos”, usando la variable “n” a modo de contador hasta que se iguale a “turnos” . El procedimiento PasoUltimo es similar a PasoAPaso solo que el procedimiento “dibujartab” se usa al finalizar el bucle de repetición para mostrar solo el resultado final de los turnos elegidos El procedimiento “menu” englobaría todo el programa en sí, con las variables principales tablero de tipo ttablero; x, y, z de tipo entero y “camb” de tipo booleano, dando por medio de una variable de tipo carácter las diferentes opciones de juego que ejecutarían los diferente procedimientos, y se repetirá hasta que el usuario quiera En el cuerpo del programa empezamos iniciando el procedimiento para los procesos aleatorios y después solamente tenemos que ejecutar el procedimiento “menu”. ---------------------------- (añadido tras someter) ---------------------------- 23:20:24 11/12/09 -> Segun los datos introducidos los ficheros son: G10P08D2 -> Los autores del trabajo son: Vallejo Alcázar, Alvaro Nombres originales de los archivos entregados -> G10 P08 D02.PAS, G10 P08 D2.txt