zoukankan      html  css  js  c++  java
  • [GO]猜数字的小游戏

    随机生成四位数字,然后用户输入四位数字,然后根据提示一步步猜到随机数

    package main
    
    import (
        "math/rand"
        "time"
        "fmt"
    )
    
    func getNum(s[]int, n int) {
        s[0] = n / 1000
        s[1] = n % 1000 / 100
        s[2] = n % 100 / 10
        s[3] = n % 10
    }
    
    func InitData(ininum *int)  {
        rand.Seed(time.Now().UnixNano())
        var randomNum int
        for  {
            randomNum = rand.Intn(10000)
            if randomNum > 999{
                break
            }
        }
        *ininum = randomNum
    }
    
    func KeyNum(s []int, k *int)  {
        for {
            fmt.Println("请输入一个四位数字: ")
            var keynum int
            fmt.Scan(&keynum)
            if keynum > 999 && keynum < 10000 {
                getNum(s, keynum)
                *k = keynum
                break
            }
        }
    }
    
    func gussNum(s []int, k []int, p *int)  {
        var n int
        for i := 0; i < 4; i++  {
            if s[i] > k[i] {
                fmt.Printf("第%d小了一点
    ", i+1)
            }else if s[i] < k[i] {
                fmt.Printf("第%d大了一点
    ", i+1)
            }else {
                fmt.Printf("第%d猜对了
    ", i+1)
                n ++
            }
        }
        *p =n
    }
    
    func main()  {
        var InitNum int
        InitData(&InitNum)
        fmt.Println("InitNum is ", InitNum)
        InitNumSlice := make([]int, 4)
        getNum(InitNumSlice, InitNum)
        fmt.Println("InitNum Slice = ", InitNumSlice)
        var keynum int
        keyslice := make([]int, 4)
        var n int
        for  {
            n = 0
            KeyNum(keyslice, &keynum)
            gussNum(InitNumSlice, keyslice, &n)
            if n == 4{
                break
            }
        }
    }

    执行结果

    InitNum is  3124
    InitNum Slice =  [3 1 2 4]  //其实这里已经把答案打印出来了,可以在代码里将打印去掉
    请输入一个四位数字: 
    2222
    第1小了一点
    第2大了一点
    第3猜对了
    第4小了一点
    请输入一个四位数字: 
    3133
    第1猜对了
    第2猜对了
    第3大了一点
    第4小了一点
    请输入一个四位数字: 
    3134
    第1猜对了
    第2猜对了
    第3大了一点
    第4猜对了
    请输入一个四位数字: 
    3124
    第1猜对了
    第2猜对了
    第3猜对了
    第4猜对了
  • 相关阅读:
    python运行出现TypeError: super() takes at least 1 argument (0 given)错误
    史上最全Python数据分析学习路径图
    Windows平台Python编程必会模块之pywin32
    PyMySQL的基本使用
    python:让源码更安全之将py编译成so
    最高分是多少
    哪些技术可以用在WEB开发中实现会话跟踪
    自定义输入模板
    JAVA中HashMap和Hashtable区别
    Java中ArrayList与LinkedList的区别
  • 原文地址:https://www.cnblogs.com/baylorqu/p/9590581.html
Copyright © 2011-2022 走看看