package main
import (
"bufio"
"fmt"
"log"
"math/rand"
"os"
"strconv"
"strings"
"time"
)
func guestNumber() int {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Input a number: ")
input, err := reader.ReadString('\n')
if err != nil {
log.Fatal(err)
}
input = strings.TrimSpace(input)
guess, err := strconv.Atoi(input)
if err != nil {
log.Fatal(err)
}
return guess
}
func main() {
seconds := time.Now().Unix()
rand.Seed(seconds)
fmt.Println("main")
var target int
maxTry := 10000
var hit = 0
for i := 0; i < maxTry; i++ {
target = rand.Intn(100) + 1
if target == 0 {
hit++
}
}
fmt.Println("The target hits 0 rate is: ", hit, "/", maxTry)
guess := guestNumber()
var hitFlag = false
var maxGuessTime = 8
for count := 1; count < maxGuessTime; count++ {
if guess == target {
fmt.Println("You are correct!")
hitFlag = true
break
} else if guess < target {
fmt.Println("Less than target, try again! You can try", maxGuessTime-count, "times more")
guess = guestNumber()
} else if guess > target {
fmt.Println("Greater than target, try again! You can try ", maxGuessTime-count, "times more")
guess = guestNumber()
}
}
if hitFlag {
fmt.Println("Guess it!")
} else {
fmt.Println("Failed to guess")
}
}