Skip to content

Instantly share code, notes, and snippets.

@mufidu
Created August 16, 2021 07:11
Show Gist options
  • Save mufidu/fb34c79d45876cb639712729914d3d9d to your computer and use it in GitHub Desktop.
Save mufidu/fb34c79d45876cb639712729914d3d9d to your computer and use it in GitHub Desktop.
A number guessing game written in Go language
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