tp1 de objetos

Los Vengadores

Luego del ataque a Nueva York los villanos de Marvel no se quedaron contentos, así que se hicieron amigos por facebook entre sí y están planeando un nuevo ataque en el 2014. Los Vengadores no se quedaron atrás y se están reclutando a más superhéroes.

Se desea simular diversas batallas a muerte entre algunos de estos villanos y superhéroes para saber si existe alguna posibilidad de ganarles.

En esta primera etapa del proyecto modelaremos a unos pocos personajes. Esto permite abrir las puertas para que luego se puedan incluir a personajes como Rouge, Loki, Cíclope, y hasta podríamos ver qué pasa si se incluyen personajes de DC Comics como Superman, Lex luthor, etc. Pero ahora nos concentraremos sólo en esto:

Poderes

Cada superhéroe o villano tiene un conjunto de poderes.

Cada poder sólo tiene una forma de afectar a ambos participantes de una pelea:

       Fuerza. Reduce la vida del atacado 40 unidades.

       Vuelo. Es más fácil escapar de los ataques, por lo que agrega 20 a la vida del atacante.

       Telequinesis. Disminuye en 50 unidades la vida del atacado y resta 1 unidad al atacante por quedar exhausto.

       Objetos cortantes. La vida del atacado baja 30 unidades.

 

Reacciones

Cada personaje tiene una forma particular de reaccionar luego de haber usado todos sus poderes contra alguien. Esto debe poder modificarse con el tiempo. Son:

       Culpa: Se siente culpable consigo mismo por haber lastimado al otro y su vida baja 5 puntos.

       Experiencia: Cuanto más pelean, más aprenden de sus propios poderes y eso les da una ventaja que se puede expresar en 10 puntos de vida adicionales.

       Absorción: El ganador adquiere los poderes del perdedor. El perdedor NO pierde sus poderes.

       Cara de naipe: A algunos superhéroes o villanos no les va ni les viene participar en una pelea. Siguen adelante y ya.

 

Personajes

Se debe poder inicializar la vida (y quizá otras cosas que consideren ustedes) de todos los personajes. Cada personaje tiene un conjunto de poderes y otras cosas características que irán notando a lo largo del TP.

Se debe poder saber si un personaje está vivo o muerto. Está vivo cuando su vida es mayor a cero. Está muerto en caso contrario.

 

Hulk

Al inicializarlo, se calma a sí mismo y su vida “normal” (antes de convertirse) es 50.

Podemos hacerlo enojar molestándolo con chistes bobos. Estos son, por ejemplo, “Te vas a poner verde de la envidia!”, “Superman te va a confundir con kriptonita y se va a ir volando!”, “Seguro ganás siempre a la escondida poniéndote entre los yuyos!” o cosas así.

Cada vez que se lo molesta, adquiere otra vez el poder Fuerza.

Para simplificar esto, podríamos indicarle a Hulk cuál poder es el que tiene que ir agregando en sus poderes al ser molestado (en este caso, sería el poder Fuerza). Luego, cada vez que es molestado, lo único que debería hacer es tomar este poder y volver a agregarlo entre sus poderes.

La única forma de hacer que se calme es ser acariciado por alguien (o en su defecto, por sí mismo). Todos sus poderes que había adquirido desaparecen. Pista: Busquen algo para “remover todos” los elementos de una colección.

Su vida se calcula como: vida normal + cantidad de superpoderes * 100.

Al atacar a alguien y usar sus poderes, siente Culpa. Detrás de esos músculos, tiene un gran (y verde) corazón.

Al morir, se eliminan todos sus poderes (es decir, se calma), y su vida se vuelve cero.

 

Wolverine

Su vida inicial es 100.

Podríamos pensar que la “regeneración” es otro poder, pero para simplificar este TP, lo trataremos como algo separado. Será una característica que sólo él tiene.

Cada vez que le disminuyen su vida, se regenera (aumenta su vida) 35 unidades.

Si al aumentar su vida se pasó de 100, se establece que su vida es igual a 100.

Sus poderes son: Fuerza y Objetos cortantes.

Después de usar sus poderes al atacar a alguien, pone cara de naipe.

 

Ahora vamos con los villanos:

Hombre Absorbente

Vida inicial: 50

Poderes iniciales: Fuerza.

Luego de utilizar todos sus poderes, Absorbe los poderes del perdedor. Esto pasa una y otra vez en cada ataque mientras la batalla no termine.

 

Magneto

Vida inicial: 100

Cuando se  pone el casco, su vida se vuelve 10 veces mayor.

Cuando se saca el casco, su vida se divide por 10.

Inicialmente, NO tiene puesto el casco. De más está decir que no puede ponerse 50 veces el casco sin sacárselo nunca...

Sus poderes son: Vuelo, Telequinesis y Objetos cortantes .

Luego de usar sus poderes, adquiere Experiencia.

 

Peleas

La posibilidad de ganar una pelea depende de los poderes de los dos personajes que se estén peleando. Cuando un atacante ataca a alguien, pasa lo siguiente:

       El atacante usa todos sus poderes. Estos poderes afectarán tanto al atacante como al atacado, como se vio más arriba. Revisen el método “do:”.

       Luego, el atacante será afectado con su forma particular de reaccionar por haber atacado a alguien.

       Se fija si el atacado está vivo.

        Si está vivo, el atacado se defiende. Es decir, ataca al atacante.

        Si no, la pelea terminó. El atacado muere. Y el atacante tiene tiempo de recuperarse, así que vuelve a inicializarse a su estado original.

Esto, créanlo o no, hará un proceso iterativo en donde se atacarán hasta que uno muera.

 

Aclaraciones:

        Se recomienda NO modelar todo junto antes de comenzar con cada punto. Primero modelar lo que pide el punto 1. Luego agregar lo del punto 2, y así.

        Para cada punto debe mostrarse cómo se hace y qué resultado da en un workspace separado, y debe enviarse una o más fotos del diagrama mostrando cada resultado (clic derecho a Diagrama, exportar, y eso les saca la foto).

        Al finalizar, debe exportarse la lección y enviar el archivo .st de dicha lección, junto con todas las imágenes de los diagramas correctamente identificadas.

        Los diagramas deben mostrar claramente lo que refiere al punto que desean mostrar. O sea: Si en el punto anterior el diagrama se llenó de ovalitos y no les sirve para el punto actual, agrupen lo anterior en un costado.

        No importa si en el diagrama no nos muestra los elementos repetidos de la colección. Con que muestre uno, quedamos todos contentos.

Se pide:


1)     
 

a)      Crear a Hulk con todo lo que deba tener. Molestarlo dos veces. Averiguar cuánta vida tiene ahora. Sacarle una foto al diagrama de objetos.

b)      Calmarlo y volver a averiguar cuánta vida tiene. Volver a sacarle una foto al diagrama.

c)      Molestarlo 2 veces otra vez y luego disminuirle la vida 10 unidades. Nuevamente, mostrar el resultado y sacar foto.

2)      Crear a Magneto. Inicialícenclo y hagan que se ponga el casco. Hacer que éste ataque a Hulk por sorpresa. Es decir: Que Hulk no se haya enojado ni un poquito antes del ataque. Mostrar quién vence. ¿Con cuánta vida queda cada uno? Mostrarlo en un workspace y adjuntar una foto del diagrama.

3)      Volver a inicializarlos y hacer lo que sea necesario para que en una nueva pelea el resultado sea diferente. Muestren esta nueva pelea y su resultado en un workspace, y adjunten una foto del diagrama.


4)     
Hulk decide hacer terapia de hipnosis regresiva, y logra dejar de tener Culpa al pelear con alguien, y empieza a tener Experiencia. Mostrar cómo hacen este cambio y cómo se quedó el diagrama.

5)      Crear a Wolverine y El hombre absorbente con todo lo que deban tener según sus características. A esta altura, gran parte de estos personajes los harán con “Copy - Paste” de cosas de los anteriores (más adelante verán formas para evitar eso). Inicializar a ambos con todo lo que crean necesario en un Workspace. Hacer que El hombre absorbente ataque a Wolverine. ¿Quién gana?

6)      Wolverine es bastante rebelde, y Hulk es reverde, así que un día uno se levanta con el pie izquierdo y ataca al otro: Molestar a Hulk 2 veces y mostrar quién gana si Wolverine ataca a Hulk. Molestarlo algunas veces más y mostrar si el resultado cambia.

ĉ
Andrea Fleischman,
30 ago. 2013 20:44
Comments