Trabajo PrƔctico 2

Tp Estelar

Ā 

BitÔcora del capitÔn fecha estelar 200906160830. Nosencontramos con una raza nunca antes reconocida por la Federación Estelar, sellaman a sí mismos Candennarians.

Parecen ser amistosos pero su tecnología es mÔs avanzada a lanuestra. Nos superan en número y potencia de ataque, afirman desear nuestracooperación para la creación de un nuevo programa que serÔ proyectado en elhollodeck. Se trata de una simulación de combate que servirÔ para elentrenamiento de los reclutas que se unan a las fuerzas armadas Candennarians.

Es por este motivo que lo hemos seleccionado a usted alférez,ya que nos hemos enterado de sus habilidades para la programación orientada aobjetos, es de vital importancia que resuelva esta situación de formasatisfactoria para iniciar negociaciones diplomÔticas con los Candennarians ygestionar su incorporación a la Flota Estelar.

El teniente La Forge ha trabajado junto al equipo alienígena yle ha preparado el siguiente informe, donde se le indican los puntosindispensables que debe cumplir su simulación. Se le pide que para las 1200tenga listo el diseño del simulador y resueltos los puntos requeridos al finaldel informe.

El simulacro debe consistir en naves estelares que seenfrentan, de las cuales una puede resultar destruida como resultado de recibirun impacto de una nave enemiga. Las naves tambiƩn pueden atacar ciudades.

Toda nave se encuentra habitada por tripulantes y comandada poruna única persona (el capitÔn), que estÔ a cargo de la nave.

Cada nave incluye varios sistemas (p.ej. presurización,navegación, fuerza motriz, comunicaciones); cada sistema es operado por uno ovarios tripulantes. De cada sistema se sabe cuÔntos tripulantes como mínimo senecesita para tenerlo funcionando. Otro dato muy importante de cada sistema essu fabricante; a efectos de esta simulación podemos modelar los fabricantescomo Strings.

Cada tripulante se asigna, a lo sumo, a un único sistema; puedeno estar asignado a ninguno. También se puede cambiar un tripulante de unsistema a otro, desasignarlo, o asignarlo si estaba desasignado.

Cada tripulante es capacitado por uno o varios fabricantes desistemas; en principio estÔ capacitado para operar únicamente los sistemashechos por los fabricantes que lo han capacitado. Puede pasar que con el tiempoaprenda a operar, ademÔs, uno o varios sistemas específicos de la nave en laque vive. De cada tripulante sabemos también su edad.

Un ejemplo: el tripulante Roque que vive en la nave SZ-141, fuecapacitado por los fabricantes Acme, Beta y Omega, y ademÔs de los sistemas deestos fabricantes puede operar también el sistema de refrigeración posterior dela nave (ese lo fue aprendiendo durante su estadía en la nave).

Ā 

De los dispositivos nos interesa: su fabricante y su peso(valores que se indican para cada dispositivo), mÔs sus puntos de tÔcticas depersecución (que le sirven para esquivar ataques, como veremos mÔs adelante) ysus puntos de daño.

En esta simulación vamos a incluir

a.   Torpedos defotones, son uno de los ataques mÔs poderosos. El daño que causa un torpedoes igual a la cantidad de fotones vivos que contiene. Los puntos de tÔcticas depersecución se obtienen multiplicando el peso del torpedo por el Ôngulo mÔximode desvío instantÔneo (un valor medido en grados de circunsferencia que varíade un torpedo de fotones a otro)

b.   Torpedos deneutrinos, sus puntos de tÔcticas de persecución se obtienen sumando laadaptabilidad al medio (que es la misma para todos los torpedos de neutrinos yaque deriva de sus componentes inalterables) mÔs un plus que es el resultado dela programación individual de cada torpedo. Son el arma mÔs avanzada y poderosacon la que puedan llegar a contar las naves estelares, su nivel de daño resultade multiplicar su peso quince veces y sumar el daño mínimo que es un valorcomún a todos los torpedos de neutrinos.

c.   Faisers notienen tÔcticas de persecución por el momento, quizÔs en un par de años luzcambie. El daño que irradian es constante en 230 puntos.

Ā 

Cuando se usa un dispositivo de ataque se consume; p.ej. si enun momento una nave cuenta con dos 2 torpedos de fotones que irradian un daƱode 100 y 500 puntos respectivamente, si dispara el de 500 solamente le quedarƔel de 100.

Ā 

A su vez para evitar situaciones infortunadas cada nave cuentacon un conjunto de maniobras evasivas que le permiten a la nave evadir algunosataques. Cada maniobra estĆ” limitada a funcionar con ataques de ciertosfabricantes; y tiene asociado un nivel de efectividad medido en puntos.

Una maniobra esquiva un ataque si: los puntos de tÔcticas depersecución del ataque son menores al nivel de efectividad de la maniobra, yademÔs el fabricante del ataque estÔ entre aquellos con los que la maniobrapuede funcionar.

Una nave puede evadir un ataque si al menos una de lasmaniobras con las que cuenta sirve para esquivar el ataque; si esto sucede lanave no recibirƔ daƱo alguno de ese ataque.

Ā 

En toda nave estelar hay tres indicadores que deben sermonitoreados en todo momento:

a.   Nivel de los escudos, cada nave nace con el nivelmÔximo de escudo que es 100, y al ser atacada este nivel baja. Una nave cuyonivel de escudos se encuentra por debajo del cero es una nave destruida.

b.   Cantidad de dispositivos de ataque disponibles, comomÔximo una nave puede tener 100 dispositivos, cuando realiza un ataque seconsume un dispositivo. Un dispositivo puede estar dañado; en esta simulaciónno reflejamos las razones del daño ni sus reparaciones, sólo registramos paracada dispositivo si estÔ dañado (los dispositivos dañados se consideran nodisponibles).

c.   Porcentaje de sistemas funcionando, o sea, que estÔnsiendo operados por al menos la cantidad de tripulantes mínima que precisa.Para obtener el porcentaje bastarÔ con hacer la cuenta: cantidad de sistemasfuncionando / cantidad total de sistemas *100.

Ā 

Se pide:

1.   Estadísticas bÔsicas

a.   Saber el conjunto de sistemas de una nave que no estÔfuncionando.

b.   Obtener el conjunto de los tripulantes mÔs viejos paracada sistema de una nave (el mÔs viejo de los de refrigeración, el mÔs viejo delos de navegación, etc.).

c.Ā Ā Ā Saber el nivelde robustez que tiene una nave estelar; que es la suma de los indicadoresdetallados arriba dividido tres.

d.   Saber si una nave es holgazana, o sea, hay mÔstripulantes desasignados que tripulantes asignados a un sistema.

e.   Saber si una nave estÔ bien organizada, o sea, todossus sistemas estÔn funcionando, y no hay ningún tripulante asignado a unsistema que no estÔ capacitado para operar.

2.Ā Ā Ā Movimiento de tripulantes

a.   Poder evacuaruna nave, evacuar consiste en disparar la alerta de evacuación lo cual implicaque todos los tripulantes dejan la nave. El capitÔn también deja la nave, perosólo si él mismo considera que la nave no requiere de ninguna acción heroica(las acciones heroicas se llevan a cabo si el capitÔn estÔ dispuesto asacrificarse y el nivel de robustez de la nave es menor a 5).

b.   Modelar la incorporación de un conjunto de tripulantesa una nave; se destina a cada uno a un sistema que no esté funcionando y parael que el tripulante esté capacitado. Los tripulantes que se incorporan y queno pueden ser asignados a ningún sistema según lo descripto, quedandesasignados.

3.   Evasión de ataques:

a.Ā Ā Ā Saber si una maniobra evasiva puede esquivar un dispositivo de ataquedeterminado.

b.Ā Ā Ā Saber si una nave estelar puede evadir un dispositivo de ataque.

4.Ā Ā Ā Recibir un impacto (ataque del enemigo)

a.   Poder informarle al capitÔn que se registran daños críticos en la nave, en este caso, el capitÔndecidirÔ la acción que se tome a continuación. Como cada capitÔn es diferentecada uno sabe cuÔl es el nivel de robustez mínimo aceptable según su criterio;si la robustez de la nave cae por debajo de este mínimo el capitÔn debe ordenarla evacuación de la nave.

b.   Recibir un impacto propiamente dicho, del impactose informa la cantidad de puntos que debe disminuir el nivel de escudos. Siluego de absorber el impacto, el nivel de los escudos es inferior a 20 debeinformÔrsele al capitÔn que se registran daños críticos en la nave.

5.   Atacar aotra nave enemiga o ciudad. En todo momento la nave estelar ataca a su objetivocon el mejor de los dispositivos de ataque disponibles. Se define como el mejorataque al que causa mayor daño potencial.

Cuando una nave es atacada con undispositivo: si puede lo evade (ver punto 3), si no recibe un impacto (punto4.b) de un punto por cada 15 puntos de daƱo que irradia el dispositivo.

Cuando una ciudad es atacada con undispositivo: mueren 200 habitantes por cada punto de daño irradiado por eldispositivo. De cada ciudad se conoce la población.

Hay que tener en cuenta que una vezutilizado el ataque deja de estar equipado en la nave estelar, por lo cual noserƔ posible volver a lanzarlo. Podemos asumir que una nave no se queda nuncasin ataques (aunque en la prƔctica esto no sea asƭ).

Ā 

Nota:

1.Ā Ā Ā El trabajo debe contar con los siguientesconceptos:

Ā 

ā—‹Ā Ā Ā Ā Clases

ā—‹Ā Ā Ā Ā Herencia

ā—‹Ā Ā Ā Ā Polimorfismo

ā—‹Ā Ā Ā Ā Polimorfismo con redefinición

ā—‹Ā Ā Ā Ā Metodos clase e instancia

ā—‹Ā Ā Ā Ā VI y VC

ā—‹Ā Ā Ā Ā Colecciones

ā—‹Ā Ā Ā Ā Delegación

ā—‹Ā Ā Ā Ā Excepciones

ā—‹Ā Ā Ā Ā Declaratividad

ā—‹Ā Ā Ā Ā No Efecto de lado cuando se pueda - TransparenciaReferencial

ā—‹Ā Ā Ā Ā Encapsulamiento

ā—‹Ā Ā Ā Ā Abstracción

ā—‹Ā Ā Ā Ā Self y Super

Ā 

2.Ā Ā Ā Para Entregar

Ā 

ā—Ā Ā Ā Ā Hacer el trabajo prĆ”ctico con class browser.

ā—Ā Ā Ā Ā Explicitar el workspace para cada punto a resolver.

ā—Ā Ā Ā Ā Explicar dónde se utilizaron todos estos conceptos

Ā