前言
博主小白一枚,正好在學習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
}
}
}
結語
終于把這篇博客寫完啦,提前祝大家情人節快樂啊,博主是一名大二學生,希望大家多多支持,希望自己新的一年能找到女朋友啊,希望單身的小姐姐私信我哦~祝各位有女朋友的大佬能和女朋友長長久久,沒女朋友的大佬別跟我搶就行了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258523.html
標籤:其他
上一篇:Python實作2048小游戲
下一篇:利用C語言實作人機三子棋游戲
