I am currently working on making Mediocre a tad more intelligent by upgrading the evaluation function with piece positioning scores. A knight in the center will be more worth than a knight in the corner.
But this will not change the fact that it will give the exact same evaluation if the position is the same. This means that if you play the same move sequence, Mediocre will always answer with the same moves.
There is no random selection of the moves. What the engine consider is the best move will always be played.
Luckily enough this will be solved by itself once we get openings implemented. In the openings there will be an element of randomness since any opening move in the book is considered good, so if we have many to choose from we can pick one at random.
If you by chance encounter the same opening, the engine will still play the same moves after it. But with a large opening book this should be a very rare occurence.
I received a mail from a guy named Yves Catineau where he showed me a bit of his work, and he also included his opening book which is very nice (thanks Yves) and I will be using that. I will take a peek at the way he solved the opening selection as well and see if I can get some ideas.