Assignment 3.2: Number Guessing Game
Objectives
The goal of this assignment is to learn the following:
- Conditionals and lexical scoping
- Loops
- How to analyze a problem statement
Computer Science Principles Curriculum
- Big Idea: Algorithms: EU 4.2, LO 4.2.3, EK 4.2.3A, EK 4.2.3B, EK 4.2.3C
- Big Idea: Algorithms: EU 4.2, LO 4.2.4, EK 4.2.4A, EK 4.2.4B, EK 4.2.4C, EK 4.2.4G
- Big Idea: Programming: EU 5.4, LO 5.4.1, EK 5.4.1M, EK 5.4.1N
Common Core Standards
- English Language Arts Standards ยป Science & Technical Subjects: CCSS.ELA-Literacy.RST.9-10.3, CCSS.ELA-Literacy.RST.9-10.4, CCSS.ELA-Literacy.RST.9-10.5, CCSS.ELA-Literacy.RST.9-10.7, CCSS.ELA-Literacy.RST.9-10.10, CCSS.ELA-Literacy.RST.11-12.2, CCSS.ELA-Literacy.RST.11-12.3, CCSS.ELA-Literacy.RST.11-12.4, CCSS.ELA-Literacy.RST.11-12.5, CCSS.ELA-Literacy.RST.11-12.10
- Standards For Mathmatical Practice: CCSS.Math.Practice.MP1, CCSS.Math.Practice.MP2, CCSS.Math.Practice.MP4, CCSS.Math.Practice.MP5, CCSS.Math.Practice.MP6, CCSS.Math.Practice.MP7, CCSS.Math.Practice.MP8
Vocabulary
- Conditional
- Lexical Scoping
- Random Number
- Repeat Loop
Overview
In this assignment you will write a program using the skills you have already learned. Write a number guessing game that generates a random number between 1 and 100, inclusively (meaning 1 and 100 should be included). Once a number is generated, ask the user to guess that number and continue asking the until they guess the correct number. You will give the user hints, such as telling them their guess is too high or too low.
Complete the Following Tasks to Meet All Objectives
Create a new project and name it GuessingGame, and open the main.quorum file.
Your program should:
- Use a repeat loop, so the game will continue until the game is over.
- Have a conditions to determine if the users guess is less than, greater than, or equal to the random number.
- Ask the user to enter a number between 1 and 100.
Example: use
statement and RandomIntegerBetween(integer, integer)
action you will need.
You will need to use Libraries.Compute.Random
to create a random number object. You will then need to call the RandomIntegerBetween(integer, integer)
action on that object.
//This line is the use statement.
use Libraries.Compute.Random
//Add your Random object here.
Random random
//Call this action on your Random object. Fill in the parameters with the correct integers.
random:RandomIntegerBetween(integer, integer)
NOTE: Output and the Online Editor
When running this assignment online, the results of output
won't appear until after the program finishes. This means that if we use output
statements to let the user know if their guess is too low or too high, they won't get any feedback until after they've already guessed correctly. To get around this problem, we can add our output to the beginning of our input
statements instead.
// We can store our "output" in this variable.
text response = "Welcome to the number guessing game. Can you guess my number?"
// Then we can add our variable to the front of our input statement.
integer guess = cast(integer, input(response + " Guess a number between 1 and 100:"))
Sample Output
The input dialog statements are included in the sample output. They are identified as [Input Dialog].
Welcome to the number guessing game. Can you guess my number?
[Input Dialog] Guess a number between 1 and 100: 50
My number is less than 50
[Input Dialog] Guess a number between 1 and 100: 25
My number is greater than 25
[Input Dialog] Guess a number between 1 and 100: 38
You guessed my number!
Game over.
Next Tutorial
In the next tutorial, we will discuss Using Libraries, which describes how to use classes built into Quorum..