猜谜游戏(Go实现)

这篇具有很好参考价值的文章主要介绍了猜谜游戏(Go实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

猜谜游戏

package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main() {
	maxNum := 100
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	secretNumber := r.Intn(maxNum)

	fmt.Println("Please input your guess:")
	var guess int
	for {
		_, err := fmt.Scanf("%d", &guess)
		if err != nil {
			fmt.Println("Invalid input. Please enter an integer value")
			continue
		}

		fmt.Println("Your guess is", guess)
		if guess > secretNumber {
			fmt.Println("Your guess is bigger than the secret number. Please try again")
		} else if guess < secretNumber {
			fmt.Println("Your guess is smaller than the secret number. Please try again")
		} else {
			fmt.Println("Correct, you Legend!")
			break
		}
	}
}

解释:
这段Go代码是一个简单的猜数字游戏。程序开始时会生成一个随机的秘密数字,并提示玩家输入猜测的数字。玩家每次输入一个数字后,程序会告诉玩家这个数字是偏大还是偏小,直到玩家猜对为止。如果输入非数字或者在读取输入时出现错误,程序会提示玩家重新输入。玩家猜对秘密数字后,游戏结束并输出"Correct, you Legend!"。

这个猜数字游戏的实现逻辑如下:文章来源地址https://www.toymoban.com/news/detail-536506.html

  1. 确定游戏的最大可猜测数字maxNum,在代码中设定为100。
  2. 使用rand.NewSource(time.Now().UnixNano())创建一个随机数生成器,并以当前时间的纳秒数作为种子,确保每次运行程序时生成的随机数是不同的。
  3. 使用随机数生成器的Intn(maxNum)方法生成一个0到maxNum-1之间的随机整数作为秘密数字secretNumber
  4. 提示玩家输入猜测的数字,并使用fmt.Scanf("%d", &guess)读取玩家的输入。
  5. 进入游戏循环,循环中玩家可以反复输入猜测的数字直到猜对为止。
  6. 在每次循环中,首先读取玩家输入的内容并处理可能出现的错误。
  7. 使用strconv.Atoi(input)将输入的字符串转换为整数类型的猜测数字guess。若输入的内容非数字,则提示玩家重新输入。
  8. 检查猜测数字guess与秘密数字secretNumber的大小关系,并给出相应的提示信息。
  9. 如果猜测数字guess大于秘密数字secretNumber,则提示玩家继续尝试,如果猜测数字小于秘密数字,则同样提示玩家继续尝试。
  10. 如果玩家猜对了秘密数字,输出"Correct, you Legend!",并结束游戏循环。
  11. 玩家猜对后,游戏结束,程序运行结束。

到了这里,关于猜谜游戏(Go实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/m0_63230155/article/details/131615983

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包