用go语言写猜字谜游戏
时间: 2023-07-07 13:06:47 浏览: 56
好的,下面是一个简单的猜字谜游戏的go语言实现:
```
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
fmt.Println("欢迎来到猜字谜游戏!")
fmt.Println("请猜一下我的名字:")
// 定义正确答案
answer := "小明"
// 读取用户输入的答案
reader := bufio.NewReader(os.Stdin)
guess, _ := reader.ReadString('\n')
// 去除用户输入中的空格和换行符
guess = strings.TrimSpace(guess)
// 判断用户输入的答案是否正确
if guess == answer {
fmt.Println("恭喜你,猜对了!")
} else {
fmt.Println("很遗憾,猜错了。")
}
}
```
该程序中,我们首先定义了正确的答案为“小明”,然后读取用户输入的答案,并使用`strings.TrimSpace()`函数去除输入中的空格和换行符。最后判断用户输入的答案是否与正确答案相同,输出相应的结果。
相关问题
golang猜字谜游戏
以下是一个简单的猜字谜游戏的示例代码,使用Go语言实现:
```go
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 设置随机数种子
rand.Seed(time.Now().Unix())
// 定义谜底和谜面的数组
answers := []string{"apple", "banana", "orange", "grape", "watermelon"}
hints := []string{"It's a fruit and starts with 'a'.", "It's a fruit and curved.", "It's a fruit and round.", "It's a fruit and small.", "It's a fruit and big."}
// 随机选择一个谜底
answerIndex := rand.Intn(len(answers))
answer := answers[answerIndex]
hint := hints[answerIndex]
// 初始化猜测次数
guesses := 0
// 开始游戏
fmt.Println("Welcome to the Guessing Game!")
fmt.Println("I am thinking of a word. Can you guess what it is?")
for {
// 获取用户的猜测
var guess string
fmt.Print("Your guess: ")
fmt.Scanln(&guess)
// 比较猜测和谜底
if guess == answer {
guesses++
fmt.Printf("Congratulations! You guessed the word '%s' in %d guesses!\n", answer, guesses)
break
} else {
guesses++
fmt.Println("Sorry, that's not the word I'm thinking of.")
fmt.Println("Hint: ", hint)
}
}
}
```
该程序随机选择一个谜底,并提示用户猜测该谜底的单词。如果用户猜对了,程序会输出恭喜信息和猜测次数;否则程序会输出提示信息并继续等待用户猜测。
用go语言写猜字谜游戏程序 功能:1、要有一个游戏主界面 2、程序自动生成一个随机数 3、让用户输入一个数字,并与随机数比较 4、提示用户输入的数大于、小于内置随机数值 5、多次比较并记录比较次数 6、如果用户输入=内置随机数,则游戏结束并打印猜游戏的次数
好的,我明白了你的问题。下面是一个用 Go 语言编写的猜数字游戏程序,它包括了你提到的所有功能:
```go
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
randomNumber := rand.Intn(100) + 1
var guess int
numGuesses := 0
fmt.Println("欢迎来到猜数字游戏!")
fmt.Println("我已经想好了一个 1-100 之间的整数。")
for {
fmt.Print("请输入你猜测的数字:")
fmt.Scan(&guess)
numGuesses++
if guess < randomNumber {
fmt.Println("你猜测的数字太小了!请再试一次。")
} else if guess > randomNumber {
fmt.Println("你猜测的数字太大了!请再试一次。")
} else {
fmt.Printf("恭喜你,你猜中了!你用了 %d 次猜中了这个数字。\n", numGuesses)
break
}
}
}
```
这个程序使用了 `math/rand` 包来生成一个随机数,然后使用 `fmt.Scan` 函数获取用户输入的数字。它还使用了一个 `for` 循环来让用户可以多次猜测,直到猜中为止。每次猜测后,程序会根据用户输入的数字与随机数的大小关系给出相应的提示,同时记录猜测次数。如果用户猜中了随机数,程序会打印出猜测次数并退出循环,游戏结束。
希望这个程序能够满足你的需求!