Water Pokemon Master said:Seems like you will do fine with your program (the name is fine). I think your biggest obstacle will be programming in every deck strategy in what to do against another deck, but I am sure we all can help you. How long do you think it will take to do all of that?
Thanks, nice that the name is use-worthy, later on when GUI programming becomes the focus I could really use some help in designing a logo (*hint, hint*, *nudge, nudge*).
The biggest obstacle is to program all the different effects of cards. That's sort of why I chose to start with Zap-turn-dos, because very often you play it straight-forward and hope to mow down your opponents pokemon one at a time and hope that zappy isn't KO'ed and all energy in play are lost... that's when you doomed... But to make the AI really efficient I have to take every cards attack and defence possibility into consideration. Just to take an example, when I face Jumpluff the AI has to play "greedy" on the energies to avoid helping Jumpluff... The AI don't know this automatically, so I have to program a "Jumpluff-routine" into it, to play optimally against this deck... and there are houndereds of examples of where Zapdos, even with it's basically straight-forward attack-plan, may want to fine-tune it's play...
If I succed and the AI works, then, depending on the amount of time I can put into it, I might move on to program for another deck-type...
How long time this will take? I honestly don't know. But by x-mas I have to be able to show the program to my teacher for evaluation, and I would very much like the AI and the User Interface in place by then... Fine tuning the AI is probably a life-long project depending on how much routines I can keep when implementing a new deck...
Status Report:
I'm apporaching 200 lines of code. I work on the data structues for the moment. I have defined what I call "class Card" to hold all card-info, and I am currently working on "class InPlayObjects" to hold one "entity" of cards on the table.. by that I mean for example a pokemon that's evolved and has a trainer and maybe energies attached, that's what I call an "entity" (or InPlayObjects"). I'm soon gonna program the "class CardsInPlay" which is basically an organistation of the active & the bench, This again hold "InPlayObjects" so that I can "talk" to CardInPlay whenever I wanna switch, evolve, attach energy/trainer or discard or return to hand... And THEN after this... the "Play routine" must be programmed to control the flow of the program and present some sorf of menu or overview to the user along with explanation of how to make choices (or operatoe on his pokemon)
Last edited: