El juego de la vida Pablo Lapuerta Murillo Iván Vera Alaya Al iniciar el programa aparece un menú con cuatro opciones, ese menu es el procedimiento principal ya que en el estan las opciones de juego. Con este procedimiento se obtinevla variable z que luego mediante un case z of el se desarrollará la parte del menú elegida. Si z=1 se genera un mundo aleatorio Generar es el primer procedimiento principal incluido en el menú. Este procedimiento llama a los procedimientos leecond, borramundo, generamundo y dibujar: #pideturno:pregunta por el número de turnos para poder obtener esta variable #leecond: pregunta por la dimension del vector y por la probabilidad de vida. De aquí obtienes esas 2 variables. #borramundo: utiliza la variable dimension para inicializar todas las posiciones del vector como muertas, una vez inicializado se obtiene el vector principal(v). #generamundo:utilizando la dimension y con la probabilidad de vida y un random del 1 al 10 (donde cada numero entero representa 10%) genera el nuevo vector v ya con las posiciones actualizadas de vida y muerte. #copiavector:con la dimension y un vector auxiliar se el vector v ya que los cambios realizados en cada turno no se realizan directamente sobre v sino sobre un vector auxiliar que va almacenando todos los cambios. #dibujar:va leyendo el vector casilla por casilla para luego escribir por pantalla que hay en cada posición(vida o muerte) Si z=2 se ejecuta Ejecutar es el segundo procedimiento principal que forma parte del menu. Llama a los procedimientos pideturno, cambiareglas y mododejuego. En este procedimiento se usa la variable b obtenida en mododejuego. Utiliza los procedimientos turno, copiavector y dibujar. #cambiareglas:utiliza las variables x,y,z que forman parte de las normas, esas variables son tanto de entrada como de salida. Dentro del procedimiento pregunta si quieres cambiarlas si aceptas pregunta por los nuevos valores de x,y,z y sino los valores son los iniciales, 3,2 y 3 respectivamente. #mododejuego: mediante este procedimiento obtienes la variable b. #compruebacasillas: este procedimiento compara cada casilla con las que tiene alrededor de tal forma que por cada casilla viva a su alrededor el contador aumenta una unidad. #condicionvida: con el contador obtenido en el compruebacasillas, las variables de las reglas(x,y,z), la posición de la casilla(i,j) y el vector v se obtiene el vector auxiliar vaux en el que se han modificado las casillas de acuerdo con el siguiente turno. #turno:es un procedimiento que utiliza los procedimientos de compruebacasillas y condicionvida para ir generando el vector en los siguientes turnos. En la ejecucion se puede elegir entre paso a paso o sólo resultados, la diferencia entre las dos opciones es la posicion del procedimiento dibujar y del readln según sea antes o después del end;. Si z=3 se carga el mundo Cargamundo es el tercer procedimiento principal del menú. Este procedimiento utiliza una variable llamada mundo que se obtiene a partir de la funcion cargar_mundo. En este procedimiento se lee el vector completo y se copia casilla a casilla el string mundo en nuestro vector v. A partir de aquí ya se le puede dar a ejecutar y el programa seguirá con ese vector en vez de generarlo aleatoriamente. Para la última opción,salir, hemos hecho un bucle para que se repita el menú hasta que sea pulsado el nº 4, en ese momento se sale del bucle y finaliza el programa. {La robustez del programa la realizaremos en la segunda entrega} ---------------------------- (añadido tras someter) ---------------------------- 21:30:51 11/12/09 -> Segun los datos introducidos los ficheros son: G03P03D2 -> Los autores del trabajo son: Lapuerta Murillo, Pablo Vera Alaya, Iván Nombres originales de los archivos entregados -> Juego Vida.PAS, el juego de la vida.txt