Práctica 5: (Tema 6) Juego “Tron”
Práctica 5:
Juego “Tron”
(Tema 6)
Objetivos:
• practicar la creación y la gestión de threads
• practicar la utilización de los atributos de planificación de
threads
• practicar la sincronización de threads basada en monitores
Programación Concurrente
Práctica 5: (Tema 6) Juego “Tron”
© M. Aldea
oct-13
Realización
Modificar el programa desarrollado en las prácticas 3 y 4 para
convertirle en el juego “Tron”
Juego “Tron”:
1
• cada jugador controla una serpiente (en la película y el juego
original se llamaban “Light Cycles”)
• un jugador pierde si se estrella contra una estela (incluso
contra la suya propia)
Programación Concurrente
Práctica 5: (Tema 6) Juego “Tron”
© M. Aldea
oct-13
2
Arquitectura
En esta práctica hay que añadir el monitor que protege el recurso
compartido “pantalla”:
lee
teclado
(Prio alta)
sentido
movimiento 1
(volatile)
sentido
movimiento 2
(volatile)
T=1seg
pone
tiempo
(Prio. baja)
monitor_pantalla
(Prio. Protect)
T=0.1seg
T=0.1seg
dibuja
serpiente
1
(Prio. media)
dibuja
serpiente
2
(Prio. media)
Programación Concurrente
© M. Aldea
oct-13
3
Práctica 5: (Tema 6) Juego “Tron”
Monitor pantalla
Con una matriz para anotar las posiciones ocupadas y libres
Con operaciones para:
• inicializar el monitor y la pantalla
• poner la hora en la esquina superior derecha
• mover las serpientes
- esta operación también detecta si se ha producido un choque
(en la página web de la asignatura se proporciona una posible
implementación del fichero monitor_pantalla.h)
Programación Concurrente
Práctica 5: (Tema 6) Juego “Tron”
© M. Aldea
oct-13
Entrega
Enviar por e-mail al profesor (
[email protected]):
• Código desarrollado
4
Programación Concurrente
© M. Aldea
oct-13
5
Comentarios de: Práctica 5: (Tema 6) Juego “Tron” (0)
No hay comentarios