Yes, forgot the termination. For the purposes of the problem though, there are still only 3 characters that you can use, and the code not working is still going to be cause be the same thing.
– CybergibbonsMar 17 '14 at 6:27

1

Ok, I see your point now, granted. Maybe you should copy the line with strcpy to better show where the problem resides, that would make youranswer clearer at first read.
– jfpoilpretMar 17 '14 at 6:46

Arrays in C and C++ are using a 0-based index, meaning that, for an array containing N elements:

the first element is accessible with index 0

the last element is accessible with index (N-1)

However, your code uses TrueRandom.random(1,numPokemon+1); which means you'll get an index between 1 and numPokemon (included), if you get the numPokemon value for your index, then you'll get garbage as it will try access some other part of memory.

Maybe that is not the only problem in your code, but this one is a major bug.