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 Rust, and they communicate in the JSON data format.
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 - 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).
Read more about:
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
The source files are available on GitHub.