Jeopardy! has for a long time been one of my favorite TV game shows. I enjoy how the game is mostly skill based and I always learn something new when I play along. When I heard about the free JService API from a friend, I thought this would be a fun opportunity for me to learn about interacting with APIs.
I decided to write a single-player version of the game that could be used for practicing. I went with JavaScript running in the client's web-browser, as this would allow me to deploy my app for free as a website hosted by GitHub Pages. After I figured out how to make calls to the JService API, the rest of the implementation was fairly straightforward.
The biggest issue came from some unavoidable problems with the JService API. For API problems, some Jeopardy! clues use sounds or videos as clues, the gimmick of certain categories are also hard to understand without an explanation from the host. JService provides access to neither of these things. Although JService has made an effort to remove these sorts of clues from its dataset, some still remain. Further, the answers to certain clues sometimes contain extraneous words like "a" or "the". To avoid the user being penalized for responses that aren't letter for letter perfect, I've included an "I'm Right" button that gives the user credit for an answer that doesn't exactly match the one provided by JService. Another big difference between traditional Jeopardy! gameplay and mine is that I don't require users to answer in the form of a question. This matched the form in which answers were sent by the API.
Click the link to play for yourself. You can also see the code on GitHub.