3.7 Game Survey
This assignment asks you to write a console survey. At this point in the course, the purpose of this assignment seems unclear. Once the assignment has been handed in, however, we’ll introduce an entirely new way of programming the Web which is intimately linked with one of the fundamental ideas of programming languages. By completing this assignment now, you’ll be better prepared to appreciate this idea when we introduce it in class.
3.7.1 Program Requirements
You will write a simple survey, the details of which are specified below.
Your program must have the following features:
When users finish the survey, they should see a list containing all of the questions they were asked and their responses. This list should not include any questions which a particular user was not asked.
3.7.2 Survey Specification
1. What is the best controller for shooters? Answer is either Arcade Stick, Gamepad, or Keyboard. If the answer is Arcade Stick, go to question 2, otherwise go to question 3.
2. What is the best gate? Answer is either Circular, Octagonal, or Square. Go to question 3.
3. Do you prefer horizontal or vertical scrolling? Answer is either Horizontal or Vertical. If the answer is Horizontal, go to question 4. If the answer is Vertical, go to question 5.
4. What is the best horizontal shooter? Answer is either Gradius V, Sexy Parodius, Border Down, Deathsmiles, or a user supplied answer. Go to the end.
5. Which is the better developer? Answer is either Cave or Treasure. If the answer is Cave, go to question 6, otherwise go to question 7.
6. What is Cave’s best release? Answer is either Dodonpachi, Ketsui kizuna jigoku tachi, Mushihimesama Futari 1.5, or a user supplied answer. Go to the end.
7. What is Treasure’s best release? Answer is either Radiant Silvergun, Sin and Punishment, Ikaruga, Sin and Punishment: Star Successor, or a user supplied answer. Go to the end.
3.7.3 Implementation Tips
The printf function will print to the console.
The read function will read a Racket value from the console. For instance, if you call (read) and then type 5, then read will return the value 5.
I suggest displaying questions like:
What is the best controller for shooters?
1. Arcade Stick
And then expect the user to type 1, 2, or 3.