golang小案例 —— 剪子剪子包袱锤小游戏

golang学习实例-猜拳小游戏 一个用golang做的猜拳小游戏实例 阅读详情

 go语言简单的玩耍一下剪子包袱锤游戏。。。。。。

package main

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

func main() {
	caiQuan();
}




func caiQuan(){
	var a int
	var quan string
	fmt.Println("	\t\t<--- 锤,剪子,包袱 --->\n")
	for i:=1 ;i<46 ; i++{
		time.Sleep(100000*time.Microsecond)
		print("-")
	}
	time.Sleep(1*time.Second)
	fmt.Print("\n\n\t\t请输入你要猜的拳是什么:")
	fmt.Scanf("%s\n", &quan)
	ret := rand.New(rand.NewSource(time.Now().Unix()))
	lkret := ret.Intn(2)
	//fmt.Println(lkret)
	if quan == "锤" || quan == "chuizi" {
		if lkret == 0 {
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t锤\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}

			fmt.Println("这局是平局,请重新再来!")

		}else if lkret == 1 {
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t包袱\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}

			fmt.Println("对不起,你输了,输给一个千年老机器")
		}else if lkret == 2{
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t剪子\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}

			fmt.Println("恭喜你,你赢了,奖金500!")

		} else {

		fmt.Print("出错了,王恩凯")


		}
	} else if quan == "包袱" || quan == "baofu" {
		if lkret==0{
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t锤\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}

			fmt.Println("恭喜你,你赢了,奖金500!")
		}else if lkret == 1{

			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t包袱\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}
			fmt.Println("这局是平局,请重新再来!")
		}else if lkret == 2{
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t剪子\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}
			fmt.Println("对不起,你输了,输给一个千年老机器")

		}else {

			fmt.Print("出错了,王恩凯")


		}
	} else if quan == "剪子" || quan == "jianzi" {

		if lkret == 0{
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t锤\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}
			fmt.Println("对不起,你输了,输给一个千年老机器")
		}else if lkret == 1{
			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t包袱\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}


			fmt.Println("恭喜你,你赢了,奖金500!")
		}else if lkret == 2 {

			fmt.Print("\t\t人类\t\t vs \t\t机器\n\n")
			fmt.Printf("\t\t%s\t\t vs \t\t剪子\n", quan)
			for i:=1 ;i<49 ; i++{
				time.Sleep(100000*time.Microsecond)
				if i==20{
					fmt.Print("\n结果计算中,请稍等....\n")
				}
			}
			fmt.Println("这局是平局,请重新再来!")
		}else {

			fmt.Print("出错了,王恩凯")


		}

	} else {
		fmt.Println("\n\n对不起,你不是来猜拳的,你是来猜人生的!")

	}

	/*if lkret == 0 {
		if rl == 0 {
			fmt.Print("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:锤")
			fmt.Println("这局是平局,请重新再来!")
		} else if rl == 1 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:锤")
			fmt.Println("恭喜你,你赢了,奖金500!")

		} else if rl == 2 {
			fmt.Print("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:锤")
			fmt.Println("对不起,你输了,输给一个千年老机器!")

		} else {
			fmt.Println("出错了,你找找错吧!")

		}
	}else if lkret == 1 {
		if rl == 0 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是: 包袱")
			fmt.Println("对不起,你输了,输给一个千年老机器!")
		} else if rl == 1 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:包袱")
			fmt.Println("这局是平局,请重新再来!")

		} else if rl == 2 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:包袱")
			fmt.Println("恭喜你,你赢了,奖金500!")
		}else {
			fmt.Println("出错了,你找找错吧!")

		}

	}else if lkret == 1 {
		if rl == 0 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是: 包袱")
			fmt.Println("对不起,你输了,输给一个千年老机器!")
		} else if rl == 1 {


		} else if rl == 2 {
			fmt.Print("这局人类出的是:")
			fmt.Printf("%s\n", quan)
			fmt.Println("这局机器出的是:包袱")
			fmt.Println("恭喜你,你赢了,奖金500!")
		}else {
			fmt.Println("出错了,你找找错吧!")

		}

	}else if lkret == 1 {
		if rl == 0 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是: 包袱")
			fmt.Println("对不起,你输了,输给一个千年老机器!")
		} else if rl == 1 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:包袱")
			fmt.Println("这局是平局,请重新再来!")

		} else if rl == 2 {
			fmt.Println("这局人类出的是:")
			fmt.Printf("%s", quan)
			fmt.Println("这局机器出的是:包袱")
			fmt.Println("恭喜你,你赢了,奖金500!")
		}else {
			fmt.Println("出错了,你找找错吧!")

		}

	}else if lkret == 1 {
		if rl == 0 {
			fmt.Print("这局人类出的是:")
			fmt.Printf("%s\n", quan)
			fmt.Println("这局机器出的是: 剪子")
			fmt.Println("恭喜你,你赢了,奖金500")
		} else if rl == 1 {
			fmt.Print("这局人类出的是:")
			fmt.Printf("%s\n", quan)
			fmt.Println("这局机器出的是:剪子")
			fmt.Println("")

		} else if rl == 2 {
			fmt.Print("这局人类出的是:")
			fmt.Printf("%s\n", quan)
			fmt.Println("这局机器出的是:剪子")
			fmt.Println("这局是平局,请重新再来!")
		}else {
			fmt.Println("出错了,你找找错吧!")

		}

	}else {
		fmt.Println("出错了,你找找错吧!")

	}
	*/
	fmt.Print("\n\n")
	for i:=1 ;i<48 ; i++{
		time.Sleep(100000*time.Microsecond)
		if i>20&&i<30{
			fmt.Print("华丽的分割线")
			i=30
		}else {

			print("-")
		}

	}

	fmt.Println("\n\n\n你还要要猜拳吗?\t继续猜" +
		" < 1 > ,结束请输入 < 2 > ")

	fmt.Scanf("%d",&a)
	switch a {
	case 1: caiQuan()
	case 2: fallthrough
	default:
		return

	}


}

 这是输出结果:

 

Go语言的游戏开发 Go语言(又称Golang)由谷歌于2007年开发,2009年首次发布。其设计目标是提高编程效率,以简洁、稳定和高效为主要特性。并发性:Go语言内置了对并发编程的支持,通过Goroutine和Channel机制,可以轻松实现高效的并发操作。简单易学:Go语言的语法简单,学习曲线相对平缓,适合初学者和经验丰富的开发者。强大的标准库:Go语言拥有丰富的标准库,涵盖网络、加密、数据处理等多个领域,减少了开发者的工作量。高性能:Go语言编译后生成的可执行文件速度较快,适合对性能有要求的应用,如实时游戏。 阅读详情

相关推荐

用Go语言开发游戏:初学者实践指南

本文还有配套的精品资源,点击获取 简介:该项目是一个以Go语言为基础的学习游戏,旨在通过编写游戏代码帮助初学者掌握Go语言的基本概念和语法。游戏化教学使学习过程更有趣,提高学习者的积极性。通过编写各种类型的游戏,学习者可以了解Go语言的并发处理、内存管理等关键特性。此外,学习者还将经历软件开发的完整流程,包括测试、文档编写和项目组织,以及游戏设计和性能优化。 1....

weixin_36474966的博客 1679

用Go语言 实现的数学相关案例汇总 (Golang经典编程案例)

用Go语言打印1~100之间 9的倍数的整数的个数及总和,代码如下: package main import "fmt" func main() { var count uint64 = 0 var sum uint64 = 0 var i uint64 = 1 fmt.Print("100以内9的倍数的整数有:") for ; i <= 100; i++ { if i ...

数据知道的博客 2万+

Go-GOWOG是一款用Golang编写的多人网页游戏

GOWOG是一款用Golang编写的多人网页游戏。 感谢Golang,服务器可以同时处理大量玩家。

golang小游戏:飞机大战

2万字保姆教程有源码,基于以前java游戏的基础用go语言写的 每天添加一个游戏元素都附带运行效果

xiao_xiao_w的博客 1072

go语言小项目“下棋游戏”

许式伟的《go语言编程》里的一个小项目,我动手将其实现了,可运行。作为新手的一个练手小项目挺好的,这个项目的依赖管理用的是goland里的goroot、gopath。希望下载的朋友学习go语言一帆风顺!

Go语言游戏服务器框架【Leaf Server】

Go语言游戏服务器框架【Leaf Server】 亲测可用,可以支持MySql数据库读取

学习go语言基础完成的小项目

Go语言是由Google公司开发的一门编程语言,其主要目标是简化和加快软件开发过程,并使得开发出的程序具有高效率、高性能和可维护性,作为一门新兴的编程语言,Go语言在各个领域都有广泛的应用,尤其在Web服务器、网络编程、云计算等领域中表现出色,学习Go语言需要一定的编程基础,但相对于其他编程语言而言,它的语法结构更加简单,易于学习。此外,Go语言对并发编程提供了原生支持,使得开发者可以更轻松地编写高并发程序。所以我在大二就开始学习go语言,并用自己才学的基础知识做一些小项目,以便吸收所学的知识。 运行结果:

qq_62331653的博客 4473

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO 在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解,之前总结过的一些和激光SLAM算法相关的博客还有,感兴趣的同学可以一起学习讨论: 激光SLAM总结——VLOAM / LIMO算法解析 激光SLAM总结——LIO-Mapping / LIOM /

weixin_44580210的博客 1万+

案例:人机猜拳 人选择 机器随机 ,在最后输出对战次数和得分

案例:人机猜拳 人选择 机器随机 ,在最后输出对战次数和得分

m0_72738925的博客 347

CentOS7下Graylog3.0高效日志管理:从零搭建到实战应用

本文详细介绍了在CentOS7操作系统上从零开始搭建Graylog3.0日志管理平台的完整过程。内容涵盖Java环境准备、MongoDB与Elasticsearch依赖安装、Graylog Server核心配置,并实战演示了通过Graylog Sidecar集中管理日志采集器以及配置邮件告警功能,为中小型团队提供了一个比ELK更轻量、易维护的一体化日志解决方案。

weixin_29207149的博客 86

【重启后nvidia-smi 命令出现错误】

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

qq_44769377的博客 5212

Go语言写小游戏的步骤

就是比如在工具中的,这个文件中仅仅放置了方法,方法内部传的参数也是其他结构体的内容,用来改变其他结构体的参数。然后之后就是用自己的算法来让这个游戏的功能更加丰富,比如说我的跑酷游戏就是想要让后面的场景实现无线循环,直接找到一个无限长度的背景图片过于困难,我就找了一张首尾呢个够无缝衔接的图片,然后让这两张图片给渲染连接起来,然后因为同一时间,窗口只能显示一张图片,所以就让当图片改出现第三张的时候,就让两张连接起来的图片给整体右移一个图片大小的宽度,这样就是第一张变成第二张,第二张变成第三张了。

m0_70208894的博客 863

【tio-websocket】15、学习tio的第1步—tio-study

tio-study 是用于学习 t-io 的示范工程,tio-study 是入门 t-io 最好的方式!tio-study 工程演示的是一个典型的 TCP 长连接应用工程,分为 server(服务端) 和 client(客户端) 工程,server 和 client 共用 common(公共模块) 工程

JACKAL 1万+

Go语言实现猜数字小游戏

最近在学习go语言,刚刚学完go语言的基础语法。编写了一个猜数字的小游戏来练习循环、分支语句、变量定义、输入输出等基础的go语言语法。为使今后的学习过程中更加对基础知识点掌握的更加牢固。

心态的博客 1409

SAP_MM&FI模块-质保金标准解决方案详解

主要讲述了SAP系统质保金的标准实现方案,包含业务背景、后台配置、前台业务操作记录,以及关键点的AI解释;

风沙的博客 687

FPGA经验谈系列文章——3、逻辑级数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA开发tips系列——前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的

gzy0506的博客 1万+

一起用Go做一个小游戏(上)

引子最近偶然看到一个Go语言库,口号喊出“一个超级简单(dead simple)的2D游戏引擎”,好奇点开了它的官网。官网上已经有很多可以在线体验的小游戏了(利用WASM技术)。例如曾经风靡一时的2048:当然只要安装了Go,我们也键入下面的命令本地运行这个游戏:$gorun-tags=examplegithub.com/hajimehoshi/ebiten/v2/examples/204...

darjun的博客 2219

历年安徽省省赛AHOI初中组考点分类汇总考点分类汇总

持续更新中.....

weixin_42358969的博客 818

Go语言基础实战视频教程

Go语言编程基础实战培训视频课程:课程内容涉及Go入门技术、Go语言安装、环境设置、Go语言并发编程、网络技术、Go语言操作Redis数据库、Go语言爬虫等。区块链第一语言,Web新贵;兼具Python的简洁与C++的强大;用好玩的小例子,带你打开通向世界2.0的大门;

十三种通信接口芯片——《器件手册--通信接口芯片》

通信接口芯片用于实现差分信号的传输,具有抗干扰能力强、传输距离远等优点。RS485支持多点通信,可连接多个收发器,而RS422支持单向多点通信。广泛应用于工业自动化、过程控制、仪器仪表、楼宇自动化(如暖通空调、保安系统)、电机控制等领域。ST3485EBDRTP8485ESR用于实现串行通信,支持点对点通信,传输距离相对较短,数据速率较低。常用于计算机与外设(如打印机、调制解调器)之间的通信。如芯力特的SIT3232,可作为ST3232的替代品。

XU157303764的博客 4275

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

c语言 剪子包袱锤游戏,幼儿民间游戏:“剪子、包袱、锤”的多种玩法

幼儿民间游戏作为我国优秀民间文化的一个组成部分,充分挖掘了身边的教育资源,以追求最大的教育利益,蕴含着丰富的发展潜力。它的材料虽然很土,但教育是灵活的;材料是旧的,教育是新的;材料是廉的,价值是高的。而创新游戏的多种玩法,显得尤为重要。在平时的教育活动中,我注重激发幼儿的游戏兴趣,引导幼儿创新游戏的多种玩法。以民间游戏“剪子、包袱、锤”为例,我和孩子一起探索了五种玩法,如下:玩法一:活动目标:锻炼...

weixin_33976326的博客 1761

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

一起用Go做一个小游戏(中)

限制飞船的活动范围上一篇文章还留了个尾巴,细心的同学应该发现了:飞船可以移动出屏幕!!!现在我们就来限制一下飞船的移动范围。我们规定飞船可以左右超过半个身位,如下图所示:很容易计算得出,左边位置的x坐标为:x=-W2/2右边位置的坐标为:x=W1-W2/2修改input.go的代码如下:func(i*Input)Update(ship*Ship,cfg*Config){ ...

darjun的博客 636

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Go语言 | 猜谜游戏

我们会使用 Golang 来构建一个猜数字游戏。在这个游戏里面,程序首先会生成一个介于 1 到 100 之间的随机整数,然后提示玩家进行猜测。玩家每次输入一个数字,程序会告诉玩家这个猜测的值是高于还是低于那个秘密的随机数,并且让玩家再次猜测。如果猜对了,就告诉玩家胜利并且退出程序。...

weixin_45838535的博客 680

简单的c语言实现剪子包袱锤

简单的c语言实现剪子包袱锤 该游戏开局可以选两种模式,第一种是选择与电脑玩多少局,并且以输入R、P、S分别代表石头、布和剪刀;第二种模式是选择获胜多少句结束游戏,同样输入R、P、S。最后将玩家、电脑分别赢了多少局、平了多少局的结果输出。 难点在于用RPS代替312进行比较 #include<stdio.h> #include<time.h> #include<stdlib.h> int rand_num() { int num; num = ran

weixin_44824175的博客 694

SDUSTOJ 1191 - 剪子包袱锤游戏 ( 结构体 函数的巧妙应用 )

Description Tom、Jack和Mary三人在同一个小学上学,又住在同一个小区。所以每天上学、放学的路上,他们都玩一些小游戏。某天,三人玩剪子包袱锤(Scissors-Paper-Rock)。每人随机出一种,然后决定胜出者和失败者。 现在,请你编程,判断每次游戏的结果。 Input 输入为多行。第一行 含有2个数字M和N,其中0 &lt; M &lt; 10...

JinxiSui的博客 1148

go小游戏

go语言小游戏 ebiten引擎

m0_66316879的博客 669
上一篇: 正则表达式 —— 简介
下一篇: golang小案例 —— 1970 年1月1日到现在的时间秒数计算出现在的日期时间
The_Reader
博客等级 码龄10年 74粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值