IIC2113-2022-2 / Syllabus

4 stars 0 forks source link

[Tarea 1] Fin del Juego #17

Open Pdesolmi opened 2 years ago

Pdesolmi commented 2 years ago

Hola! Tengo una pregunta, si es que estoy recibiendo daño, y se me acaban las cartas del arsenal, pero esa última carta era un reversal apropiado, tengo que seguir toda la lógica de ese reversal o puedo terminar el juego ahí?

2do: Si es que tiro una carta con SV y empiezo a hacer daño, no se completa el daño debido a que mi oponente le sale un reversal, entonces yo robo de mi mazo la cantidad de cartas que me diga el SV, si es que al robar esas cartas se me acaban las del arsenal pierdo? asumo que si debido a la respuesta de la issue #12

Muchas Gracias!

RodrigoToroIcarte commented 2 years ago
  1. Buena pregunta. Que salga el reversal desde el mazo hace que el daño pare y termine el turno del oponente. Ahí es donde se acaba el juego porque si al final de un turno cualquiera de los jugadores no tiene cartas en su arsenal entonces ese jugador pierde. Igual tu pregunta habla de "la lógica de ese reversal". Recuerda que al revertir desde el mazo el daño para y termina el turno del oponente, pero no ese ejecuta el efecto ni el daño del reversal. Entonces no hay mucha lógica asociada a cartas que revierten desde el mazo.
  2. Robar cartas por SV es opcional. De hecho en mi código yo pregunto al usuario cuántas cartas quiere robar (o si prefiere no robar cartas). Dicho eso, en mis test cases siempre estoy robando el máximo de cartas que puedo robar porque encuentro mala onda hilar tan fino en los test cases. Por lo mismo, no va a aparecer el caso que mencionas. (Y la respuesta oficial es que ese caso no se debería dar porque el jugador no robaría cartas por SV si no puede hacerlo).
Pdesolmi commented 2 years ago

Muchas gracias, me quedó muy claro! Un último detalle, que en todos los efectos que diga como "player can draw one card" o ese tipo de efectos que tienen un "can", eso significa que siempre debemos darle la opción de que lo haga o no, y no asumir que se va a hacer si o si.

asumo que hay que preguntarle

RodrigoToroIcarte commented 2 years ago

Técnicamente sí. Pero entiendo que alguien no se dé cuenta de esa sutileza y obligue al usuario a robar el máximo número de cartas "robables". Por lo mismo, en los test cases siempre estoy robando el máximo de cartas posibles.