Skip to content
Ejercicio tipo parcial. Jaloguin (version indigestion)
Wollok
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings
META-INF
src
.classpath
.gitignore
.project
.travis.yml
README.md
build.properties
calabazas.JPG

README.md

Jalogüin

Ejercicio integrador

Dulce o truco! Para jalogüin una empresa nos pidió un sistema que lleve el control de los sustos en una ciudad. El software, claro está, tenía que estar para el viernes pasado.

Build Status

A. Sustos

Para obtener caramelos, los niños intentarán asustar a los adultos.

La capacidad de asustar de un niño se calcula como la sumatoria del susto que generan los elementos que tenga puestos (trajes y maquillajes, por ahora) multiplicado por la actitud del niño (un índice de 1 a 10):

Todos los maquillajes asustan lo mismo (actualmente 3, pero puede cambiar en un futuro).

El traje asusta según sea el personaje que represente:

  • Tiernos: trajes como Winnie Pooh o Sullivan asustan 2
  • Terroríficos: trajes como Jason o George Bush asustan 5

Cuando un niño intenta asustar a un adulto, si lo logra, recibe de éste una cierta cantidad de caramelos, que guarda en su bolsa. No todos los adultos son igualmente propensos a asustarse:

  • Los adultos comunes sólo se asustan si tienen una tolerancia menor que la capacidad de susto del niño, y dan tantos caramelos como la mitad de su tolerancia. La tolerancia se calcula como 10 * la cantidad de niños con más de 15 caramelos que intentaron asustarlo antes.
  • Los abuelos simulan asustarse siempre, y entregan la mitad de los caramelos de un adulto común.
  • Los adultos necios nunca se asustan.

Obtener la capacidad de asustar de un niño.

Hacer que un niño intente asuste a alguien, obteniendo los caramelos, si lo logra.

B. Legiones

Los niños son más efectivos si asustan en grupos, que son llamados “legiones de terror”. De estas sabemos que:

La capacidad de asustar de una legión es equivalente a la sumatoria las capacidades de sus miembros

La cantidad de caramelos en posesión de la legión es equivalente a la sumatoria de caramelos en posesión de sus miembros

Al igual que los niños, cuando intentan asustar, reciben caramelos. Sin embargo, los caramelos van a las arcas del líder de la legión.

El líder es el miembro con mayor capacidad de asustar.

  • Dado un conjunto de niños, crear una legión. Toda legión debe tener al menos dos niños, por lo que la creación debe fallar si no se cumple esta restricción.
  • Hacer que una legión intente asustar a una persona, obteniendo los caramelos, si aplica.
  • Nos informan que los niños han aprendido a formar legiones de legiones, es decir, legiones donde sus miembros pueden ser niños u otras legiones. Si es necesario hacer algún cambio para soportar este requerimiento, realizarlo. De lo contrario, explicar porqué es posible.

C. Estadísticas barriales

En cada barrio habitan muchos niños. Se desea poder obtener estadísticas para cada barrio:

  • Los tres niños que más caramelos tienen.

  • Los elementos, sin repetidos, usados por los niños con más de 10 caramelos.

D. Alimentación

Los niños a veces se comen cierta cantidad de sus caramelos. Cuando esto ocurre, disminuye la cantidad de caramelos en su bolsa.

Hacer que un niño se coma una cantidad dada de caramelos. Si no tiene suficientes caramelos, debe fallar.

Se pide:

  • Plantear un workspace para cada punto
  • El código. No es necesario codificar todos los accessors.
  • Un diagrama de clases
  • Diagrama de objetos si fuera necesario

E. Indigestión (Bonus)

Requerimiento de último momento: Comer muchos caramelos hace mal!! Cuando un niño come caramelos, su estado de salud se ve repercutido.

Inicialmente los niños están sanos. En este estado, se comportan como hasta ahora. Y si comen más de 10 caramelos juntos, pasan a estar empachados.

Cuando están empachados, su actitud se disminuye a la mitad. Y si comen 10 caramelos juntos, pasan a estar en cama.

Cuando están en cama, ya no pueden asustar a nadie (su actitud es cero, y ya no pueden comer más caramelos).

You can’t perform that action at this time.