猜谜游戏(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模板网!

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

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

相关文章

  • 【Golang】VsCode下开发Go语言的环境配置(超详细图文详解)

    📓推荐网站(不断完善中):个人博客 📌个人主页:个人主页 👉相关专栏:CSDN专栏、个人专栏 🏝立志赚钱,干活想躺,瞎分享的摸鱼工程师一枚 ​ 话说在前,Go语言的编码方式是 UTF-8 ,理论上你直接使用文本进行编辑也是可以的,当然为了提升我们的开发效率我们还是需

    2024年02月07日
    浏览(89)
  • 02-编程猜谜游戏

    上一篇:01-开始Rust之旅         本章通过演示如何在实际程序中使用 Rust,你将了解 let 、 match 、方法、关联函数、外部crate等基础知识。         本章将实现一个经典的初学者编程问题:猜谜游戏。         工作原理如下:程序将随机生成一个介于 1 和 100 之间的整

    2024年01月20日
    浏览(35)
  • Python基础小案例:猜谜游戏

    本教程将演示用Python开发一个简单的数字猜测游戏的过程。 我们正试图开发一个游戏,从用户那里获取上限和下限,在这个范围内生成一个随机数,要求用户猜测这个数字,并计算用户用了多少条线索才猜对了。这个游戏将只基于CLI。 我们的程序做的第一件事是接受用户的

    2024年02月12日
    浏览(29)
  • 分别用python和go语言来实现的风靡一时的2048 游戏,包含完整代码

    2048 游戏实现主要包括以下几个步骤: 创建一个棋盘,通常使用二维列表表示。 实现棋子的移动规则,左移、右移、上移、下移。 判断游戏是否结束,即棋盘是否已满或者无空位可移动。 实现游戏界面的显示。 下面是一个简单的 Python 实现示例,运行效果如下:

    2024年02月13日
    浏览(32)
  • Golang:Go语言结构

    在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 表达式 注释 接下来让我们来看下简单的代码,该代码输出了\\\"Hello World!\\\": 让我们来看下以上程序的各个部分: 第一

    2024年02月10日
    浏览(61)
  • 【GoLang】MAC安装Go语言环境

    小试牛刀 首先安装VScode软件 或者pycharm mac安装brew软件  brew install go 报了一个错误 不提供这个支持  重新brew install go 之后又重新brew reinstall go 使用go version 可以看到go 的版本 使用go env  可以看到go安装后的配置 配置一个环境变量 vim ~/.zshrc,  

    2024年02月15日
    浏览(61)
  • Go语言(Golang)数据库编程

    要想连接到 SQL 数据库,首先需要加载目标数据库的驱动,驱动里面包含着于该数据库交互的逻辑。 sql.Open() 数据库驱动的名称 数据源名称 得到一个指向 sql.DB 这个 struct 的指针 sql.DB 是用来操作数据库的,它代表了0个或者多个底层连接的池,这些连接由sql 包来维护,sql 包会

    2024年02月03日
    浏览(102)
  • 【Golang】VScode配置Go语言环境

    安装VScode请参考我的上一篇博客:VScode安装_㫪548的博客-CSDN博客 接下来我们直接进入正题: Go语言(又称Golang)是一种开源的编程语言,由Google开发并于2009年首次发布。Go语言具有简洁、高效、可靠和易于阅读的特点,被设计用于解决大型项目的开发需求。它结合了静态类型

    2024年02月03日
    浏览(68)
  • Go学习圣经:Go语言实现高并发CRUD业务开发

    现在 拿到offer超级难 ,甚至连面试电话,一个都搞不到。 尼恩的技术社群中(50+),很多小伙伴凭借 “左手云原生+右手大数据”的绝活,拿到了offer,并且是非常优质的offer, 据说年终奖都足足18个月 。 第二个案例就是:前段时间,一个2年小伙伴希望涨薪到18K, 尼恩把

    2024年02月11日
    浏览(55)
  • 【Golang】Golang进阶系列教程--Go 语言数组和切片的区别

    在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 数组和切片是两个常用的数据结构。它们都可以用于存储一组相同类型的元素,但在底层实现和使用方式上存在一些重要的区别。 Go 中数组的长度是不可改变的

    2024年02月15日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包