pdep-utn-frd / 2019-tpwgame-xxxpdp_jfmxxx

2019-tpwgame-xxxpdp_jfmxxx created by GitHub Classroom
0 stars 0 forks source link

agregar leyendas #4

Open lspigariol opened 4 years ago

lspigariol commented 4 years ago

agreguenle algun tipo de mensaje o leyenda minima que ayude a entender lo que pasa en el juego. por ejemplo si ganaste o perdiste, cuantas vidas quedan, etc. pueden usar say() o agregar nuevos objetos visuales

Hayetj commented 4 years ago

Ahí agregue las cosas que pidió Lucas, agregue leyendas de ganar y perder vida, saber cuantas vidas tiene el pacman con showAttribute() , los fantasmas se mueven y gana la vida al chocar con las frutas.

lspigariol commented 4 years ago

bien, va mejorando. agregaron esta linea cuando colisiona la fruta game.whenCollideDo(fruta ,{personaje => personaje.chocarConFrutas(fruta)}) el tema es que personaje es cualquier cosa con la que la fruta colisiona, puede ser un pacman, un rival o incluso otra fruta que se ubica en el mismo lugar. Mas expresivo que chocarConFruta(), puede ser comer() ¿en que otros objetos deberia estar el metodo comer()? ¿qué debería hacer en cada uno?

Hayetj commented 4 years ago

Hola Lucas lo que debería hacer es escribir de esta forma game.whenCollideDo(pacman,{personaje => pacman.comer(fruta)})? y usar el metodo de comer en el pacman y en la fruta no?

lspigariol commented 4 years ago

la clave es usar el polimorfismo

game.whenCollideDo(pacman,{personaje => pacman.comer(fruta)})?

en esta expresion, a personaje no lo usas y no me queda claro de donde sale fruta. (si esta dentro del foreach, se evalua muchas veces, simpre para el mismo pacman, lo cual no tiene sentido)

Si el sentido es "cuando el pacman choca con algo, pasan cosas diferentes segun quien sea", o sea, que cada cosa chocada hace algo diferente cuando la choca el pacman. podrias hacer game.whenCollideDo(pacman,{algo=> algo.teChoco(pacman)}) Y no ponerlo dentro de un foreach

Pero la otra posibilidad, mas parecida a la version original, es definir que pasa cuando colisiona cada fruta con algo

(forEach fruta) game.whenCollideDo(fruta,{algo=> algo.chocasteCon(fruta)})

y definis el metodo chocasteCon en cada objeto que pueda chocarse con al fruta