Ok, "Card" is going to be a class in the program, and that means I build a "standard scheme" (I lack the perfect word here...) where all possible info on cards can be stored. And later when I read the input-file (containing the deck-lists). Then I make "instances" of such Card-objects and fill in info accordingly, comparing the name with a pre-defined list of cards with all the needed info about them. (This is why Metagross suggested I start with basics, energy and easy trainers, b/c filling out the list of complete info on every card is a huge job...So I will start with a few selected cards, just enough to make a legal deck).
So I need your input on this Card class:
"Cards" must be able to hold this info:
type = 'trainer', 'pokemon' or 'energy'
For pokemon it needs:
- name
- stage
- retreat cost
- weakness
- resistance
- type
- attack (this must be a list of attacks each holding
name
cost
damage
effect *)
For trainers it needs:
And for energy:
Questions:
*) Can effect of attacks be categorized or grouped together? A start could be;
- can target any pokemon
- can target several pokemon (spinning tail)
- ignore weakness/resistance
- special conditions
- etc etc (your help is wanted here)
In the beginning I won't let the AI use any complicated attacks, and I'll program for those I need. Also the human player might have to perform his attack "manually", like adjust opponents HP by one self, switch active if attack say so, etc etc,
**) Can effects of trainers be categorized?
- draw cards from deck
- search out card(s)
- manipulate position of pokemon (eg Warp Point, Switch)
- replace attack
- give more HP
- remove weakness
- etc etc.... the list goes on and on... but identifying the basic ones first is a good start. Example:
- I need Mary's Request, Lanette, Warp point etc, but I don't need Sitrus Berry or Solid Rage yet....