Created
August 16, 2021 07:11
-
-
Save mufidu/fb34c79d45876cb639712729914d3d9d to your computer and use it in GitHub Desktop.
A number guessing game written in Go language
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"math/rand" | |
"time" | |
) | |
func main() { | |
// accept user input | |
fmt.Print("What's the biggest number: ") | |
var number int | |
fmt.Scanf("%d", &number) | |
// begin game | |
fmt.Println("You entered:", number) | |
fmt.Println("Guess a number between 1 and", number) | |
// generate a random number | |
var random int | |
random = randomNumber(number) | |
// loop until user guesses correctly | |
// and record the number of guesses | |
var guesses int | |
guesses = 1 | |
for { | |
fmt.Print("Guess a number: ") | |
var guess int | |
fmt.Scanf("%d", &guess) | |
if guess == random { | |
fmt.Println("You guessed correctly!") | |
fmt.Println("Number of guesses:", guesses) | |
break | |
} else if guess > random { | |
fmt.Println("Too high!") | |
} else { | |
fmt.Println("Too low!") | |
} | |
guesses++ | |
} | |
} | |
func randomNumber(number int) int { | |
// generate new seed using current time | |
rand.Seed(time.Now().UnixNano()) | |
// random a number between 1 and 10 | |
number = rand.Intn(number) + 1 | |
return number | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment