package main
import(
"math/rand"
"fmt"
"time"
)
var (
n , n1 , n2 , s , s1 , s2 , x , y int
)
////////////////////
//三位数的数字游戏 //
//1.随时间生成一个三位数的数字 //
//2.将判断的数字每一位取出来 //
//3.封装一个方法 //
// //
////////////////////
func test01(){
//电脑随时间生成了一个随机数
fmt.Println("《猜数字游戏》")
rand.Seed(time.Now().UnixNano())
x = rand.Intn(1000)
// fmt.Println("x = " , x)
n = x / 100
// fmt.Println("n = " , n)
n1 = x % 100 / 10
// fmt.Println("n1 = " , n1)
n2 = x % 100 % 10
// fmt.Println("n = " , n2)
}
func test02(){
//用户输入了一个数
var a int
fmt.Println("用户输入的字符:")
fmt.Scan(&a)
y = a
fmt.Println("用户输入的字符是" , y)
s = y / 100
// fmt.Println("n = " , s)
s1 = y % 100 / 10
// fmt.Println("n1 = " , s1)
s2 = y % 100 % 10
// fmt.Println("n = " , s2)
}
func test03(){
//判断用户输入的是否合法
for {
if y <= 99 || y > 999{
fmt.Println("输入不合法 , 请再输入合法字符!")
test02()
}else {
test04()
break
}
}
}
func test04(){
//用户输入的字符和电脑随机生成的字符进行比较,提示错误信息
if n == s{
fmt.Println("百位相同")
}else{
fmt.Println("百位不同")
}
if n1 == s1 {
fmt.Println("十位相同")
}else{
fmt.Println("十位不同")
}
if n2 == s2 {
fmt.Println("个位相同")
}else{
fmt.Println("个位不同")
}
}
func Start(){
//综合一下
test01()
test02()
test03()
for {
if n == s && n1 == s1 && n2 == s2{
fmt.Println("恭喜你,猜对了")
break
}else{
// test04()
fmt.Println("猜错了")
test02()
test03()
}
}
}
func main(){
Start()
}
有疑问加站长微信联系(非本文作者)