<>前言
博主小白一枚,正好在学习Go语言。听说很多朋友都喜欢和女朋友一起玩游戏。博主不太会玩游戏,玩游戏都是坑队友,但是接触猜数字游戏后,博主在这个游戏找回了自信心。我相信在很多女性朋友眼中,一个会玩猜数字游戏的男生,一定是一个有魅力的男生!让我们一起去浪(Let’s
Golang)!
<>需求
设计一个猜数字游戏,做到随机生成一个guessNum,然后输入你猜的数字,当猜大了时输出猜大了,猜小了时输出猜小了,猜对了就输出猜对了。然后再输出一些惊喜的话语。
<>构造基本框架
package main import ( "fmt" "math/rand" "strconv" "time" ) func main() { //
-----1---- rand.Seed(time.Now().Unix()) answer := rand.Intn(1000) for{ fmt.
Println("请输入你的猜想:(输入“结束”结束游戏)") var guess string fmt.Scan(&guess) //------2-----
guessNum, _ := strconv.Atoi(guess) //------3----- if guess == "结束"{ fmt.Println
("I Love You!Good Bye!") break } //-----4------ switch { case guessNum > answer:
fmt.Println("猜大了") case guessNum < answer: fmt.Println("猜小了") default: fmt.
Println("猜对了") break } } }
下面解释一下代码:
代码段1:如果不实时更换一个Seed,那么rand.Intn(1000)出来的随机数很可能达不到随机的效果,因此我们在这里把Seed随时间变化。
代码段2:把guessNum由字符串转换为数字。
代码段3: 设置退出方式,并说一句惊喜的话语。
代码段4:判断猜的数字是不是要猜的数字,并提示大小。
<>第一次改进
玩着玩着想着如果能自定义范围就好了,说干就干,实现也很容易。注意rand.Intn()中的值是int类型。
package main import ( "fmt" "math/rand" "strconv" "time" ) func main() { fmt.
Println("宝贝,请输入你的猜数最大范围: ") var area int fmt.Scan(&area) rand.Seed(time.Now().
Unix()) answer := rand.Intn(area) for{ fmt.Println("宝贝,请输入你的猜想:(输入“结束”结束游戏)")
var guess string fmt.Scan(&guess) guessNum, _ := strconv.Atoi(guess) if guess ==
"结束"{ fmt.Println("I Love You!Good Bye!") break } switch { case guessNum >
answer: fmt.Println("猜大了") case guessNum < answer: fmt.Println("猜小了") default:
fmt.Println("猜对了") break } } }
<>第二次改进
在玩游戏过程中,发现猜对后并没有退出程序,于是把switch语句中default中的break改为return
package main import ( "fmt" "math/rand" "strconv" "time" ) func main() { fmt.
Println("宝贝,请输入你的猜数最大范围: ") var area int fmt.Scan(&area) rand.Seed(time.Now().
Unix()) answer := rand.Intn(area) for{ fmt.Println("宝贝,请输入你的猜想:(输入“结束”结束游戏)")
var guess string fmt.Scan(&guess) guessNum, _ := strconv.Atoi(guess) if guess ==
"结束"{ fmt.Println("I Love You!Good Bye!") break } switch { case guessNum >
answer: fmt.Println("猜大了") case guessNum < answer: fmt.Println("猜小了") default:
fmt.Println("猜对了") return } } }
<>第三次改进
既然是惊喜,那就每次都输出一下下面一句骚话吧。
* 我大约真的没有什么才华,只是因为有幸见着了你,于是这颗庸常的心中才凭空生出好些浪漫。
* 人生的出场顺序很重要,我来得晚一点,没陪你朝朝暮暮,但等得久一点,愿陪你共度余生。
* 草莓蛋糕的第一口给你,冬日的温暖阳光给你,雨后的清新空气给你,清晨的第一眼也给你。拥抱给你,温柔给你,开心给你,所有美好的事物都给你。
* 你最可爱,我说时来不及思索。而思索之后,还是这样说。
* 不是我喜欢的样子你都有,而是你所有的样子我都喜欢。
* 不敢说有你在我身边我会更好,但是起码会多那么一份面对世界的勇气,就连走路都会有底气一点,这是我的爱赋予我的力量。
* 从今以后 各种辛苦就会像漫长的雨 但只要和你在一起 我就能忍耐
* 回首亘年漫月里的所有怦然心动 你仍拔得头筹
* 我的愿望,就是希望你的愿望里,也有我
* 我们都喜欢光 虽然转瞬即逝 但你还是你 有我一喊就心颤的名字
* 我好想和你一起过一个下雪的日子 我们一起在雪中漫步 说着要一路白头偕老 一起在圣诞树下许愿 而我 也可以把冻的通红的手放在你的怀里
低声的告诉你我有多喜欢你 有多喜欢有你的冬天
* 我不能给你全世界,但是,我的全世界全部给你。
* 这是我的爱,收下吧,这是我的心,别打碎了,这是我的手,握住了。
* 这生命我只牵你的手,正因今生有你早已足够。
* 我喜欢你,所以希望你被簇拥包围,所以你走的路要繁花盛开,要人声鼎沸。
* 春天会下雪,夏天有大雨,秋天会起风,冬天有艳阳,一年四季会有很多意外,但最迷人的,还是遇见了你。
*
我喜欢夏天里冰凉的半个西瓜,我喜欢夏天里甜甜的草莓冰棒,我喜欢夏天里轻快的知了吟唱,我喜欢夏天里温柔的江边晚风,我喜欢夏天里夜空的漫天星辰,但其实啊,我最喜欢的是陪我过夏天你呀!
*
我遇到过很多人。有人让我发烧,我以为那是爱情,结果烧坏了所有。有人让我发冷,从此消失在生命里。有人让我觉得温暖,但仅仅是温暖而已。只有你,让我的体温上升0.2℃。
package main import ( "fmt" "math/rand" "strconv" "time" ) func
StringWithCharset(length int) string { strlist1 := []string{
"我大约真的没有什么才华,只是因为有幸见着了你,于是这颗庸常的心中才凭空生出好些浪漫。",
"人生的出场顺序很重要,我来得晚一点,没陪你朝朝暮暮,但等得久一点,愿陪你共度余生。",
"草莓蛋糕的第一口给你,冬日的温暖阳光给你,雨后的清新空气给你,清晨的第一眼也给你。拥抱给你,温柔给你,开心给你,所有美好的事物都给你。",
"你最可爱,我说时来不及思索。而思索之后,还是这样说。", "不是我喜欢的样子你都有,而是你所有的样子我都喜欢。",
"不敢说有你在我身边我会更好,但是起码会多那么一份面对世界的勇气,就连走路都会有底气一点,这是我的爱赋予我的力量。", "从今以后 各种辛苦就会像漫长的雨
但只要和你在一起 我就能忍耐", "回首亘年漫月里的所有怦然心动 你仍拔得头筹 ", "我的愿望,就是希望你的愿望里,也有我", "我们都喜欢光 虽然转瞬即逝
但你还是你 有我一喊就心颤的名字", "我好想和你一起过一个下雪的日子 我们一起在雪中漫步 说着要一路白头偕老 一起在圣诞树下许愿 而我
也可以把冻的通红的手放在你的怀里 低声的告诉你我有多喜欢你 有多喜欢有你的冬天", "我不能给你全世界,但是,我的全世界全部给你。",
"这是我的爱,收下吧,这是我的心,别打碎了,这是我的手,握住了。", "这生命我只牵你的手,正因今生有你早已足够。",
"我喜欢你,所以希望你被簇拥包围,所以你走的路要繁花盛开,要人声鼎沸。",
"春天会下雪,夏天有大雨,秋天会起风,冬天有艳阳,一年四季会有很多意外,但最迷人的,还是遇见了你。",
"我喜欢夏天里冰凉的半个西瓜,我喜欢夏天里甜甜的草莓冰棒,我喜欢夏天里轻快的知了吟唱,我喜欢夏天里温柔的江边晚风,我喜欢夏天里夜空的漫天星辰,但其实啊,我最喜欢的是陪我过夏天你呀!"
,
"我遇到过很多人。有人让我发烧,我以为那是爱情,结果烧坏了所有。有人让我发冷,从此消失在生命里。有人让我觉得温暖,但仅仅是温暖而已。只有你,让我的体温上升0.2℃。"
, } rand.Seed(time.Now().Unix()) b := strlist1[rand.Intn(len(strlist1))] return
string(b) } func main() { fmt.Println("宝贝,请输入你的猜数最大范围: ") var area int fmt.Scan(
&area) rand.Seed(time.Now().Unix()) answer := rand.Intn(area) for{ fmt.Println(
"宝贝,请输入你的猜想:(输入“结束”结束游戏)") var guess string fmt.Scan(&guess) guessNum, _ :=
strconv.Atoi(guess) if guess == "结束"{ fmt.Println("I Love You!Good Bye!") break
} switch { case guessNum > answer: fmt.Println("猜大了") case guessNum < answer:
fmt.Println("猜小了") default: fmt.Println("猜对了") fmt.Println( StringWithCharset(1)
) return } } }
<>结语
终于把这篇博客写完啦,提前祝大家情人节快乐啊。博主是一名大二学生,希望大家多多支持。希望自己新的一年能找到女朋友啊,希望单身的小姐姐私信我哦~祝各位有女朋友的大佬能和女朋友长长久久,没女朋友的大佬别跟我抢就行了。