Authors: Connie Ho, Vincent Wong, Alex Huang
What is the problem?
Houses in Vancouver cost over a million dollars! You probably don’t have a million dollars… Yet! “Poole Wants to Be a Millionaire” is a Haskell game that can offer you up to one million dollars (Not legally binding) if you can answer a sequence of questions correctly! Upon correctly answering a question, your potential prize will increase, but the questions will get increasingly difficult - similar to the TV Show “Who Wants to be a Millionaire”.
Can you walk away with a million dollars (Not actually though)? Find out on “Poole Wants to Be a Millionaire”!
What is the something extra?
The something extra for this project is implementing “Lifeline” features. Lifelines in Poole Wants to Be a Millionaire include Ask the Audience, 50/50 and Question Swap. “Ask the Audience” will produce a poll of audience choices, with the probability of the correct answer being chosen by the audience decreasing with increasing prize value. The “50/50” lifeline will eliminate two of the wrong choices leaving only the correct answer and an erroneous one. “Question Swap” replaces the current question with a new question.
What did we learn from doing this?
We learned that because Haskell has no side effects, it is very difficult to manipulate lists and global variables. We therefore had to reimagine how we implemented simple functions due to this constraint.
There are aspects of the game such as Phone-a-Friend that are not feasible with Haskell. We overcame these difficulties by implementing lifelines that utilize logic and calculations.