La practica se trata del "Juego de Tron". A
continuación se presenta una pequeña descripción del funcionamiento de dicho
juego:
El juego consiste en dos gusanos que crecen por la cabeza y el objetivo de cada
jugador es encerrar al gusano del otro. El juego se desarrolla en un tablero.
Juegan 2 jugadores en el mismo tablero, realizando alternativamente un
movimiento cada uno.
Cada jugador controla un gusano, que consta de
una cabeza (una casilla del tablero) y una cola (conjunto de casillas en forma
de gusano). En cada turno, el gusano del jugador debe crecer obligatoriamente
por la cabeza, es decir, la casilla que antes era la cabeza se transforma en
parte de la cola, y la cabeza se mueve a una casilla adyacente (en vertical u
horizontal, pero no en diagonal) que esté libre. El gusano, al ir creciendo por
la cabeza, no puede ocupar el espacio ocupado por su cola o por el otro jugador.
No puede modificarse ninguna otra casilla del tablero, o sea que lo único que
puede hacer el gusano es crecer (estirando la cabeza). Si un gusano queda
atrapado y no puede crecer más (ninguna casilla adyacente a la cabeza está
libre, en todas hay cola de gusano), muere, es decir, pierde el juego.
El objetivo del juego es encerrar al gusano enemigo y evitar que el otro te
encierre a ti.
El proyecto, en lo referente a la práctica 1, se ha estructurado en un conjunto de módulos: ficheros fuentes en C, librerías, programas residentes (driver), etc. En la figura adjunta se pueden ver las dependencias entre ellos.
Esquema del Proyecto para la Práctica 1
La descripción de estos elementos es la siguiente:
Para realizar el proyecto, se parte de un programa completo, que es totalmente operativo, que realiza la totalidad de las funciones del proyecto propuesto. Este programa está escrito en C, con una serie de librerías. El trabajo del alumno consistirá en sustituir ciertas funciones de dichas librerías por otras diseñadas por ellos y escritas en ensamblador, así como en el diseño de varios drivers que controlen el juego. Para la primera práctica se utilizará un driver, que será un simulador del dispositivo y también lo entregamos.
Finalmente el proyecto se ha dividido en tres prácticas o entregas:
Práctica 1 : Diseño de las librerías TECLADO y TRONLIB en ensamblador.
El alumno dispone del programa TRON.C, escrito en C, que hace llamadas a las librerías mencionadas. La práctica consiste en sustituir ciertas funciones de la librería por otras escritas por el alumno.
Práctica 2: Desarrollo del programa completo. No se utilizará ningún driver.
Práctica 3: Sustitución de las librerías serie.lib y rtc.lib por programas residentes, a modo de drivers. Manejo de recursos hardware (puerto serie y RTC, reloj de tiempo real).
Bibliografía recomendada para este proyecto.
Además de la bibliografía recomendada para la asignatura, se incluyen unas referencias que describen el funcionamiento del puerto serie: