Hi ColdFire64!
Nice of you to contribute with your thoughts. I think some of your questions regarding what Python can do in comparison to C++ wil be answered when you look at the present source code:
http://www.multinett.no/~simonsig/PokeM8/PokeM8.py
http://www.multinett.no/~simonsig/PokeM8/PokeM8module.py
http://www.multinett.no/~simonsig/PokeM8/AIs_deck.txt
http://www.multinett.no/~simonsig/PokeM8/Players_deck.txt
The .py files can be viewed in a program like Notepad, but when you view them in a program made for writing code in Pyhton (like Emacs, or a Python Shell etc), then you can apply color-coding which makes the code 10 times easier to read. I use IPython for testing the files, and IDLE Python Shell for writing code. I think both are freeware, we get them for free at least thru the course websites
resource page, which happens to be in english. (Scroll down to the "Installing the Scripting Software on Windows" if Windows is your OS of choice).
The PokeM8.py is where the program is run from. The PokeM8Module features all the classes and all the functions I use thoughout the project, and it's imported by PokeM8.py (see beginning of code).
If-tests, while- & for-loops etc are the tools in this language too, to build the algorithms necessary. The language borrows heavily from C, C++ and Unix-methodology, as you will see.
Now over to some of your ideas. You introduce a "priority number" which you say also can be manipulated thru user input (for deck testing). This is a great idea, and certainly something I will bring with me in the project. But to be able to make the AI choose the best option this "prioritynumber" isn't always the same. Let me explain:
Scenario 1:
The AIs has a Voltorb in play with two energies, and can play another energy from the hand, but AI doesn't have Zapdos ex... That's when you want to play Lanette over any other supporter, to fetch Zapdos ex....
Scenario 2:
Same as above, only now you have a Zapdos ex, but not many other cards... just enough energy to do Electron Crush... You have LNS, but you also have other supporters... That's when you DON'T wanna play LNS...
Scenario 3:
You have a Zappy going as active, one at hand. Your have energies, you have both LNS and other supporters. You have a Manetric, but no Electrike... That's when you WANT to play LNS, to find an Electrike.
So in each of these scenarios the AI can't rely on a ready-made priority number, it has to analyze the cards on the table (seen as InPlayObjects in the code, named AIsActive and AIsBench) and the cards on AIs hand (AIsHand in the code). And then choose accordingly. It's heavy duty stuff, but I'm not giving up, by no means. It's actually the same thing you do yourself during a game of Pokemon TCG, only I have to express this in logical and mathematical terms (eg. coding algorithms).
Hope this made some sense... keep your opionions coming! They are valuable.
----
(Note that if you download the files and they just look like a big chunk of text, copy the content into new files, like Word-documents or something, and the text will look allright.)