• golang实现的一个小游戏–猜数字


    今天看到一个例子,非常有意思,记录一下。

    随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了,

    代码如下:

    package main
    
    import (
    	"bufio"
    	"fmt"
    	"math/rand"
    	"os"
    	"strconv"
    	"time"
    )
    var (
    	endNum int //设置生成数的范围
    )
    func main() {
    	i := createRandomNumber(endNum)
    	//fmt.Println("生成规定范围内的整数:", i)    //本句调试用
    	fmt.Println("请输入整数,范围为:0-", endNum)
    
    	flag := true
    	reader := bufio.NewReader(os.Stdin)
    	for flag {
    		data, _, _ := reader.ReadLine()
    		command, err := strconv.Atoi(string(data)) //string to int,并作输入格式判断
    		if err != nil {
    			fmt.Println("格式不对,请输入数字")
    		} else {
    			fmt.Println("你输入的数字:", command)
    			if command == i {
    				flag = false
    				fmt.Println("恭喜你,答对了~")
    			} else if command < i {
    				fmt.Println("你输入的数字小于生成的数字,别灰心!再来一次~")
    			} else if command > i {
    				fmt.Println("你输入的数字大于生成的数字,别灰心!再来一次~")
    			}
    		}
    	}
    }
    func init() {
    	endNum = 10
    }
    
    //生成规定范围内的整数
    //设置起始数字范围,0开始,endNum截止
    func createRandomNumber(endNum int) int {
    	r := rand.New(rand.NewSource(time.Now().UnixNano()))
    	return r.Intn(endNum)
    }
    
  • 相关阅读:
    [BZOJ 4001] [TJOI 2015] 概率论
    【计算几何】推导坐标的旋转公式
    【动态规划学习】01背包
    (坑)网络流24题
    bzoj2442(单调队列优化)
    [lydsy2005]能量采集
    主席树
    [noi2005][treap]序列维护
    [Apio2012][Treap]派遣
    [CodeVs][1514][Treap][书架]
  • 原文地址:https://www.cnblogs.com/wangcc7/p/12512101.html
Copyright © 2020-2023  润新知