ALUMNOS: Mª Carmen Esquinas Vicente Ismael Gómez Domínguez 1º Ingenieria Técnica Industrial (Esp. Electricidad) CURSO: 2009-2010 DESCRIPCIÓN DEL PROGRAMA: El programa está formado por un programa principal y por una serie de procedimientos y funciones que se van invocando cuando son necesarios, con el correspondiente paso de variables y uso de estructuras de datos. Comenzamos declarando un vector bidimensional (matriz, en nuestro caso tablero) que contiene ceros y unos. Dichos ceros y unos son los valores que tomarán las casillas. El número de elementos del vector estará entre 4 y 20, que seran la casillas por lado. A continuación pasamos a los procedimientos y funciones: - Procedimiento "Presentacion": Muestra por pantalla un título para el programa "Vamos a jugar al juego de la vida!!". - Procedimiento "NumCasillas": Pide al usuario que introduzca el número de casillas que quiere que tenga el tablero. Dicho número debe estar entre 4 y 20. Por ello implementamos una entrada robusta de datos. El procedimiento nos devuelve por pantalla el número de casillas por lado. En cuanto a los parámetros, hemos declarado la variable ncasillas y la pasamos por referencia, ya que es un dato de entrada-salida. - Función "aleatorio": Con esta función prentendiamos hacer la operación de generar mundo aleatorio. Para ello hemos llamado al procedimiento anterior y asi conocer el lado del tablero. Seguidamente con dos bucles anidados "For...to...do" vamos recorriendo la matriz generando un numero aleatorio con el que obtengo la probabilidad. Dentro de esta sentencia anidada introducimos dos instrucciones condicionales para comparar la probabilidad. Si la probabilidad es menor de 0,7 asignamos a la celula el valor 0 (la celula está muerta) y si es mayor o igual a 0,7 entonces la celula es igual a 1 (la celula está viva). En cualquier caso, nos faltaría mostrar el tablero. Lo haríamos utilizando otros dos bucles "For...to...do" anidados. - Función "cargar_mundo": Dicha función viene ya implementada.No la hemos introducido todavía en el menu de opciones. - Procedimiento "menu": El procedimiento nos muestra un menu de opciones. Hemos asignado 1 para generar mundo aleatorio, 2 para ejecución, 3 cargar estado inicial y 4 para salir. Pasamos al programa principal: Comenzamos declarando las variables que se van a usar a continuación. Seguidamente abrimos con un begin y llamamos a "clrscr" para limpiar la pantalla cada vez que ejecutamos el juego.Para ejecutar este comando hemos declarado al principio del programa la llamada a la unidad "crt". Después tenemos "randomize" para poder usar "random". Luego llamamos al procedimiento "presentacion" que muestra el título y seguidamente hemos implementado una instruccion iterativa "repeat...until" que se cierra cuando el usuario teclea la opcion 4 para salir del programa. Dentro de esta instrucción iterativa tenemos otra similar dentro de la cual hacemos una llamada al procedimiento "menu" que se repite hasta que el usuario teclea un número entre 1 y 4 e implementamos una entrada robusta de datos. Para que cuando el usuario pulse el número elegido se lleve a cabo la opción seleccionada implementamos una condicion "case opcion of" y dentro de cada opción llamamos al procedimiento/función necesario. En nuestro caso, la opción 2 y 3 no ejecutan ninguna opción, ya que faltan por diseñar. La opción para salir del programa (opcion 4) la resolvemos con un valor booleano "true". ---------------------------- (añadido tras someter) ---------------------------- 22:41:13 11/12/09 -> Segun los datos introducidos los ficheros son: G12P10D2 -> Los autores del trabajo son: ESQUINAS VICENTE, Mª CARMEN GOMEZ DOMINGUEZ, ISMAEL Nombres originales de los archivos entregados -> JUEGODELAVIDA.PAS, Juego de la vida.txt