You are on page 1of 6

Algoritmos y Programacin III 75.

07
Cursos 1 , 2 y 3

Trabajo Prctico 2

Fi-ormula 3
Introduccin

Enunciado General

Introduccin
El presente trabajo consiste en el desarrollo de un juego del tipo de carreras de
autos.
Descripcin basica del juego:
La divisin de juegos de la empresa Algotres Corp ha contratado a su grupo de
trabajo para desarrollar su novedoso y original juego "fi-ormula 3".
Se trata de un juego de carreras de autos, en el cual el jugador podr seleccionar
un vehculo y luego manejarlo a travs de una pista de carreras.
El objetivo del juego es lograr terminar la carrera en el menor tiempo posible.
Elementos del juego:
La Pista
La pista de carreras es totalmente recta, pero lo suficientemente ancha como
para que el auto tenga espacio de maniobras hacia los costados de la pista para
poder esquivar obstculos que puedan aparecer en la misma.
El ancho de la pista deber ser como mnimo el doble del ancho del auto.
Componentes de la pista
La pista se compone de diferentes superficies y obstculos.
Superficies: asfalto, ripio, tierra
Obstculos: pozos, lomas de burro
Por ejemplo, una pista de 5 km podra estar compuesta de:
- 2 km de asfalto
- 2.5 km de ripio
- 0.5 km de tierra
A su vez, sobre la pista podr haber diferentes tipos de obstculo, por ejemplo,
la misma pista descripta anteriormente podra tener:
- Pozos en los km: 0.7, 2.4, 4 y 4.6
- Lomas de burro en los km: 1, 3.2 y 4.5
Los obstculos podrn cubrir todo el ancho de la pista solo una parte.

El auto
El auto de carreras estar compuesto de:
- Un motor
- Un set de ruedas

Velocidad del auto


La velocidad del auto queda determinada por 2 factores:
- La velocidad que permita alcanzar el motor.
- El dao que tengan las ruedas del auto.
Si el motor funciona a 120 km/h pero las ruedas tienen un dao del 20%, la
velocidad del auto ser:
Velocidad = 120 - (120 x 0.2) = 96 km/h

Motores
Existirn 3 tipos de motor que el jugador podr elegir antes de empezar la
carrera:
- Motor "Win32": este motor acelera de 0 a 100 en 5 segundos, y tiene una
velocidad maxima de 100 km/h
- Motor "Lin64": este motor acelera de 0 a 120 en 10 segundos, y tiene una
velocidad maxima de 120 km/h
- Motor "MacX": este motor acelera de 0 a 80 en 2 segundos, de 80 a 150 en
15 segundos, y tiene una velocida maxima de 150 km/h
Como se ve, algunos motores permiten volver a tomar velocidad rapidamente
luego de frenar y otros permiten tener una mejor velocidad maxima.

Tipos de ruedas
Existen 2 tipos de ruedas que el jugador podr elegir antes de empezar la
carrera:
- Ruedas "Mess10"
Andando en asfalto no sufren dao.
Andando por ripio, el dao depende de la velocidad: por cada km de ripio, el
dao es: (velocidad / 100).
Por ejemplo, hacer 1 km en ripio a 80 km por hora produce un dao del 0.8%
Andando en tierra, el dao por cada km de tierra es: (velocidad / 70).
Los pozos le producen un dao de 5%.
Las lomas de burro le producen un dao de 10%.
- Ruedas "Paler9"
Sufren dao de 2% cada 3 km, sin importar la superficie o la velocidad.
Lomas de burro y pozos le producen un dao de 6%.

Dinmica del juego:


El jugador selecciona el motor y ruedas a utilizar.
El jugador corre la carrera manejando al auto con las flechas del teclado. Las
diferentes flechas le permiten: acelerar, frenar, moverse a la derecha y moverse a
la izquierda.
Al terminar la carrera, el jugador es informado del tiempo total utilizado.

Normas generales de entrega:

La estructura de carpetas que se entrega deber tener como raz una carpeta o
paquete con el siguiente nombre: algo3c[1|2|3]g[nmero de grupo]. Donde 1, 2 o
3 es el curso en el cual est inscripto el grupo. Ej: algo3c1g8 es la carpeta que
deber usar el grupo 8 del curso 1 (turno tarde).

La entrega deber contener un proyecto ANT (build.xml) que permita compilar y


correr las pruebas.

La documentacin deber estar en 1 slo archivo (texto y diagramas)


preferiblemente en formato .pdf o en su defecto como .doc.

Deber coordinar con su ayudante asignado si se entregar el cdigo fuente


impreso y su formato.

Entrega 1
(La fecha de entrega del trabajo: semana del 8 de Noviembre de 2010)

Elementos a entregar:

Una aplicacin Java o C# que responda al enunciado del trabajo prctico, con
todas las estructuras de datos, atributos y comportamiento necesario para la
resolucin del MODELO del juego. (NO incluye visualizacin e interaccin con el
usuario).

Pruebas unitarias automatizadas (utilizando JUnit para Java y NUnit para C#)
que contemplen las siguientes condiciones:

Creacin de un auto, con su correspondiente motor y ruedas (deber probarse


la creacin de autos con diferentes motores y ruedas)

Creacin de una pista que contenga distintas superficies y obstculos a lo


largo de la misma

Prueba de los mtodos del modelo que permiten ir obteniendo el dao de las
ruedas a medida que se hace mover al auto por la pista.

Prueba de los mtodos del modelo que permiten obtener la velocidad del auto
a partir de una determinada aceleracin del motor y dao de las ruedas.

Diagrama de clases de las clases principales de la aplicacin.

Diagrama de secuencia para los casos que se consideren relevantes.

Entrega 2
(La fecha de entrega del trabajo: semana del 29 de Noviembre de 2010)

Elementos a entregar:

Programa Java o C# que utilice el modelo desarrollado en la entrega 1 y


agregue interfaz grfica e interaccin con el usuario. Se deber desarrollar
utilizando el patrn MVC que se ver en clase, de forma tal de minimizar el
acoplamiento entre la aplicacin visual y el modelo.

Persistencia: la pista deber poder cargase a partir de un archivo XML, de forma


tal que el usuario pueda seleccionar una pista de varias, cada pista adems
almacenar los 10 mejores tiempos y los nombres de quienes los hicieron.

Diagramas actualizados del modelo, incorporando los cambios y correcciones


realizadas.

Diagramas de clases de las estructuras nuevas surgidas de la implementacin


del modelo de visualizacin e interaccin con el usuario.

Diagramas de secuencias acordados con el ayudante.

Diagrama de estados general de la aplicacin.

You might also like