Tarea I El Laberinto de Harry Potter - 10% 1 El Juego

Anuncio
Universidad Simón Bolívar
Departamento de Computación y Tecnología de la Información
CI6675 Algoritmos y Estructuras Optimizadas para Videojuegos
Enero Marzo 2016
Tarea I
El Laberinto de Harry Potter - 10%
½Es el evento nal en la copa de los tres magos! Con los otros dos competidores fuera de la batalla,
Cedric Diggory y Harry Potter se pelean el campeonato. Para ello, deberán atravesar un complicado
laberinto y alcanzar la copa del campeón.
Cedric y Harry comienzan a andar en el laberinto, pero notan algo extraño: cada cierto tiempo, el
laberinto cambia. ½Aparecen y desaparecen paredes como por arte de magia! ¾Quién alcanzará la
copa primero?
1 El Juego
A continuación se describirá el juego a implementar.
1.1
Escenario
El juego se desarrollará en una matriz de tamaño N × M , donde N y M pueden ser escogidos por
el jugador antes de comenzar. Inicialmente, la matriz se llenará de forma aleatoria con los siguientes
tipos de celda:
• Libre: Es una posición que está libre y por tanto, puede recorrerse.
• Pared: Es una posición que tiene una pared y por tanto, no puede recorrerse.
De entre las posiciones libres deben seleccionarse tres diferentes, las cuales serán la posición inicial
de Harry, la posición inicial de Cedric y la posición de la copa, respectivamente.
Se debe asegurar en todo momento que la cantidad de paredes corresponda al menos a un tercio ( 13 )
de la cantidad total de celdas.
Para el tamaño de la matriz (variables N y M ), los valores podrán estar entre 10 y 100.
1.2
Evolución
Cada T segundos, donde T puede ser escogido por el jugador antes de comenzar, se escogerá una
posición arbitraria del escenario (que no corresponda a las posiciones de Harry, Cedric, ni la copa) e
invertirá su tipo. Esto es, si era una pared, se convertirá en libre y viceversa.
Para el tiempo T , el valor podrá estar entre 1 y 10.
1
1.3
Jugador
El jugador estará en control de Harry. Las únicas instrucciones que debe recibir Harry son los
movimientos hacia los cuatro puntos cardinales. Harry se moverá en la dirección propuesta si y solo
si dicha posición está libre y dentro de la matriz.
1.4
Contrincante
El contrincante será Cedric, el cual será controlado totalmente por inteligencia articial. Cedric
deberá siempre tomar algún camino hasta la copa (de haber alguno) que sea de distancia mínima.
Esto es, un camino X tal que no exista otro camino Y , donde Y atraviese menos celdas que X . Si
existen varios caminos con tal distancia mínima, Cedric podrá tomar cualquiera de ellos.
Nótese que cada vez que hay un cambio en la matriz, es posible que Cedric deba replantear el camino
a tomar.
1.5
Ganador
Una partida del juego termina cuando Harry o Cedric alcancen la copa y quien lo haga es el ganador.
En este momento, el juego debe volver al menú principal.
1.6
Menú
El menú principal del juego debe tener alguna manera de ingresar valores para las variables N , M y
T y de comenzar un nuevo juego Los valores por defecto para todas las variables son los mínimos en
su rango permitido.
2 Retos Extra
Para aquellos que deseen un reto adicional (y hasta 4 puntos adicionales), pueden implementar alguna
de estas extensiones sobre sus juegos:
• El laberinto siempre deberá tener al menos un camino de Harry a la copa, y de Cedric a la
copa. Esto incluye el inicio del juego y después de cualquier cambio en la matriz.
1 punto extra
• El laberinto siempre deberá tener exactamente un camino de Harry a la copa, y de Cedric a la
copa. Esto incluye el inicio del juego y después de cualquier cambio en la matriz.
1 punto extra
• Hacer que sólo uno de entre Harry y Cedric puedan estar en una misma celda simultáneamente
e implementar en Cedric la capacidad para escoger, no el camino con menor distancia, sino el
camino que garantice su victoria (de ser posible), por ejemplo: bloqueando el camino de Harry.
2 puntos extra
2
Si realizan cualquiera de estas extensiones, deberán incluir una explicación de las estructuras y algoritmos utilizados en su informe.
Nota: Note que si se realiza la segunda extensión, inmediatamente también se habrá realizado la
primera, por lo que ganarían 2 puntos extra en total.
3 Entrega
Ud. debe entregar un correo electrónico con:
• El código fuente en el lenguaje y la herramienta de su elección.
El lenguaje/herramienta en el cual implementar este juego es libre. Sin embargo, la herramienta escogida debe ofrecer facilidades para programar estructuras y algoritmos complejos e incorporarlos a la lógica del juego.
La componente visual del juego no es importante en esta ocasión. Por ejemplo, las paredes
podrían ser cuadrados rellenos, y Harry y Cedric podrían ser círculos de diferentes colores. Si se desea hacer un juego más llamativo visualmente, no está prohibido, más dicha
componente no tendrá efecto en la evaluación.
Todo el código debe estar debidamente documentado.
• Un breve video que muestre el juego en funcionamiento, con diferentes conguraciones para las
variables involucradas.
• Un breve informe explicando la implementación de su juego y justicando todo aquello que
considere necesario. En particular, el informe debe presentar una explicación de las estructuras
y algoritmos usados para implementar la inteligencia articial de Cedric.
Fecha de Entrega: Sábado 23 de Enero (Semana 5), hasta las 1:00 pm.
Valor: 10%.
R. Monascal / Enero 2016
3
Descargar