Hi Gabor, Well I'm all up for world domination, after all if the good guys don't do it, that just leaves the bad guys and those who don't care either way!
I guess it might be a nice idea to discuss objectives. I've loaded and run the Mastermind application, and as Mattia says, threading is overkill for this application. The application has also been made more challenging by the introduction of the player 'computer' to showcase the threading solution. However, 'computer' didn't work for me, which somewhat over-shadowed the elegance of the solution. My suggestions for this for this application would be to focus on the objectives, if the objectives are technical and you want to showcase threading, then: - I would bring threading up to the first level of coding. To understand the threading model (and I don't yet) then you need to open 9 files and track the program flow across those files. It would be easier (for me at least) to understand the threading if it were at a higher level of the hierarchy. - We might also combine all those classes and sub-classes into a single file. - The game is actually a front-end for Games::Mastermind, which means you get 2 files called Mastemind.pm. This was a bit confusing for me at first. DC is also demonstrated extensively, which I liked. However the text is in English. It probably wouldn't be so hard to internationalise it, as there are only four words in the interface, which might give it more appeal. I would also bring the game more into line with the traditional board game (4 colours, different shaped pegs for guesses and scores - see attached .png file - black peg means correct colour, correct position, white means correct colour, wrong position etc). Also rename the file menu, 'Game'. I hope this helps. Regards Steve
<<attachment: Picture1.png>>