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>>

Reply via email to