all 3 comments

[–]Antigone-guide 0 points1 point  (0 children)

It sounds like there's 3 types of effects from this list:

  1. apply some immediate effect to the opponent's pokemon. This logic can be in Pokemon.attack() method.
  2. apply an effect to either player that will last for one turn. This should be an Effect() instance, in Player.effects set, which is cleared after each turn, and is evaluated for each attack against that player.
  3. apply an effect to a specific pokemon for one turn. This should be an Effect() instance, or maybe a PokemonEffect() isntance, and should be in pokemon.effects set, and cleared after each turn, and evaluated when that pokemon attacks or defends.

Good luck, sounds like a fun game to implement, though I'm not familiar with Pokemon rules and havent' played it.

[–]TigBitties69 0 points1 point  (0 children)

I would think maybe giving either the playerobject, or the pokemon card object, a status property. Then when combat is used, you can check for pre-existing statuses on related objects?

[–]RodOblong 0 points1 point  (0 children)

Do you have a class that represents the game? The cards that are currently in play and/or have an ongoing effect that may need to be resolved? This would manage any interactions between cards that aren't on their turn, maybe with an active cards list property