Clue Solver

About this project

About this project: Clue (or Cluedo outside of North America) is a game published by Hasbro in which players make accusations to try to determine who killed Mr. Boddy. This application takes information about the game (including what cards you have and which suggestions are disproved by whom) to figure out who has which cards, and thus who the killer is.

To get a quick start, load one of these sample clue games and play around with the Game Info and Simulations:

The front-end was developed using React, the back-end is written in Python, and they communicate in the JSON data format. A previous version of this used the Google Web Toolkit.

I originally tried to write the back-end using first-order logic (see discussions on my blog), and then propositional logic, but ended up rolling my own deduction, which was sort of disappointing.

The simulations are only reliable to within a few percent (it only does 2000 of them) - basically it chooses each possible solution, tries to assign cards to each player and sees if the solution is consistent or not (and if so, counts it).

The images on the Game Info tab are taken from the Silk icon set at famfamfam.com - thanks!

Clue is a registered trademark of Hasbro, inc. Official Clue site

Here are my source files: