Just a note on the ComputerPlayer - if we want to increase the AI complexity the next most basic thing (that I can think of) would be to try to play a tile that restricts the open ends to the numbers we know have caused HumanPlayer to drawBones. Whilst we may decide we don't have time to implement this, the kind of play-watching required for this tactic requires new structures (eg an array of known "bad" numbers) and a method to take note of the previous players actions. Just putting this out there to inspire relative thinking...