基于Go语言实现分金币游戏

目录
  • 问题
  • 代码实现
  • 运行效果

问题

你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizabeth。

分配规则如下:

a. 名字中每包含'e'或'E'分1枚金币

b. 名字中每包含'i'或'I'分2枚金币

c. 名字中每包含'o'或'O'分3枚金币

d: 名字中每包含'u'或'U'分4枚金币

写一个程序,计算每个用户分到多少金币,以及最后剩余多少金币?

程序结构如下,请实现 ‘dispatchCoin’ 函数

代码实现

package main

import (
	"fmt"
	"strings"
)

var (
	coins = 50
	users = []string{
		"Matthew", "Sarah", "Augustus", "Heidi", "Emilie", "Peter", "Giana", "Adriano", "Aaron", "Elizabeth",
	}
	distribution = make(map[string]int, len(users))
)
// strings.ContainsAny 判断字符串s是否包含字符串chars中的任一字符

func dispatchCoin() int {
	for _, i := range users {
		if strings.ContainsAny(i, "e & E") {
			distribution[i]++
		}
		if strings.ContainsAny(i, "i & I") {
			distribution[i] += 2
		}
		if strings.ContainsAny(i, "o & O") {
			distribution[i] += 3
		}
		if strings.ContainsAny(i, "u & U") {
			distribution[i] += 4
		}
		coins -= distribution[i]
	}
	return coins
}

func main() {
	left := dispatchCoin()
	for _, i := range users {
		fmt.Println(i, distribution[i])
	}
	fmt.Println("剩下:", left)
}

运行效果

D:\Software\godata\src\1201>go run main.go
Matthew 1
Sarah 0
Augustus 4
Heidi 3
Emilie 3
Peter 1
Giana 2
Adriano 5
Aaron 3
Elizabeth 3
剩下: 25

到此这篇关于基于Go语言实现分金币游戏的文章就介绍到这了,更多相关Go分金币游戏内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Go Java算法猜数字游戏示例详解

    目录 猜数字游戏 方法一:遍历(Java) 方法一:遍历(Go) 猜数字游戏 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls",公牛), 有多少位属于数字猜对了但是位置不对(称为 "Cows",奶牛).也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字. 给

  • Go语言实现猜数字小游戏

    利用Go语言实现一个四位数字,而且不重复的猜数字游戏,解题思路是先利用rand随机函数产生一个四位数,然后通过切片进行引用传递,设定用户可以输入的数字,最后分别遍历切片四位数字与产生的四位数是否相同 package main import "fmt" import( "math/rand" "time" ) func CreateNum(p *int){ //设置种子 rand.Seed(time.Now().UnixNano()) var nu

  • golang游戏等资源压缩包创建和操作方法

    游戏资源包的创建.修改.读取等操作. 注意:资源包为游戏等需要快速读取的场景使用,所以并未对文件进行分块操作,都是一整个读取压缩的,所以需要自行保证文件大小的合理或者自行更改代码进行分包压缩,再则不对重复文件做校验,不同路径的同一个文件将被认为是两个文件. 引入包: gpk "github.com/lsq51201314/go-pack" 创建资源包: gpk.Object.Create(创建空的资源包) gpk.Object.CreateFromFolder(从文件夹创建资源包) v

  • go语言实现猜数字小游戏的方法

    本文实例讲述了go语言实现猜数字小游戏的方法.分享给大家供大家参考.具体分析如下: 随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了 复制代码 代码如下: package main import (     "bufio"     "fmt"     "math/rand"     "os"     "strconv"     "time" ) var (  

  • Go语言实现猜谜小游戏

    目录 前言 技术点 随机数 随机数种子 接收用户输入 Reader Scanf 完整代码 使用Reader 使用Scanf 总结 前言 本文是介绍用Go实现一个猜谜小游戏,就是程序先生成一个随机数num,然后让用户来猜生成的数是多少,如果猜的数比num小就提示用户猜测的数据小于num,如果猜的数比num大就提示用户测试的数据大于num,如果猜测的数据刚好是num就提示用户猜对了. 技术点 在本文中将会使用到以下技术点:随机数.随机数种子.获取当前时间戳.两种读取终端输入方式等. 随机数 Go生成

  • 基于Go语言实现分金币游戏

    目录 问题 代码实现 运行效果 问题 你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizabeth. 分配规则如下: a. 名字中每包含'e'或'E'分1枚金币 b. 名字中每包含'i'或'I'分2枚金币 c. 名字中每包含'o'或'O'分3枚金币 d: 名字中每包含'u'或'U'分4枚金币 写一个程序,计算每个用户分到多少金币,以及最后剩余多少金币? 程序结构如下,请实现 ‘

  • 基于C语言实现的扫雷游戏代码

    本文详细讲述了基于C语言实现的扫雷游戏代码,代码中备有比较详细的注释,便于读者阅读和理解.希望对学习游戏开发的朋友能有一点借鉴价值. 完整的实例代码如下: /* 模拟扫雷游戏 */ #include <graphics.h> #include <math.h> #include <stdio.h> #include <dos.h> #include <stdlib.h> #include <conio.h> #include <

  • 基于C语言实现关机小游戏的示例代码

    目录 关机会写吧 猜数字会写吧 那么合起来 实际效果 关机会写吧 #include <stdlib.h> #include <string.h> #include <stdio.h> int main() { char input[10] = { 0 }; system("shutdown -s -t 60"); again: printf("电脑将于1分钟后关机,输入:我是猪,取消关机!\n"); scanf("%s&

  • 基于C语言实现三子棋游戏的示例代码

    1.创建文件  test.c (游戏的测试逻辑)game.c(游戏的实现逻辑)gane.h(游戏实现函数的声明) game.c 和game.h属于游戏实现 test.c属于游戏测试 test.c 源文件(源文件添加)——game.c 源文件(源文件添加)——game.h(头文件添加) 三个文件 2.首先在test.c文件写一个主函数,主函数里面有一个测试函数,测试函数里面写菜单.进入游戏.退出游戏 代码展示: void menu() { printf("*********************

  • 基于C语言实现的迷宫游戏代码

    本文实例讲述了基于C语言实现迷宫游戏的方法,代码备有较为详尽的注释,便于读者理解.通过该游戏代码可以很好的复习C语言的递归算法与流程控制等知识,相信对于学习游戏开发的朋友有一定的借鉴价值. 完整的实例代码如下: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <dos.h> #define N 20/*迷宫的大小,可改

  • 基于C语言实现推箱子游戏

    本文实例为大家分享了C语言实现推箱子游戏的具体代码,供大家参考,具体内容如下 代码在vs2013上测试运行. 思想: 1):地图用二维数组实现,箱子.墙壁.人等事物用不同的数字表示,遍历二维数组,遇到不同的数字打印相应的图案即可. 2):按键移动原理:判断要移动的方向是怎样的障碍物,如果理论上可以移动的话,只需把对应位置的数字作相应更改即可. #include<stdio.h> #include<stdlib.h> #include<windows.h> #includ

  • 基于C语言实现扫雷小游戏

    本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 game.h 设置头文件 #include<stdio.h> #include<stdlib.h> #include<time.h> #define ROW 9 #define COL 9 #define EASY_COUNT 10 #define ROWS ROW+2 #define COLS COL+2 //初始化 void InitBoard(char board[ROWS][COLS]

  • 基于C语言实现简易扫雷游戏

    本文实例为大家分享了C语言实现简易扫雷游戏的具体代码,供大家参考,具体内容如下 1.头文件 #define _CRT_SECURE_NO_WARNINGS //包含头文件 #include <stdio.h> #include <stdlib.h> //定义数值 #define ROW 9 #define COL 9 #define ROWS ROW+2 #define COLS COL+2 //定义雷的数量 #define mine_num 10 //函数定义 //初始化 voi

  • 基于C语言实现简单五子棋游戏

    本文实例为大家分享了C语言实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 五子棋大家都玩儿过,所以规则就不介绍了 今天遇到一个学弟在实现的时候遇到一些问题,所以将实现的过程记录下 水平有限,仅供参考,互相交流,共同进步. #include<stdio.h> #include<windows.h>   int main() {       int i,j;//表示棋盘横纵坐标     /*********************************************

  • 基于C语言实现猜数字游戏

    前言 系统生成一个[1,100]之间数字,用户随便输入一个整数,如果用户输入的数字比系统生成的数字小,提示"猜低了",如果用户输入的数字比系统生成的数字大提示猜高了,如果相同,提示猜对了. 一.先生成一个[1,100]的随机整数 C语言的标准库中已经包含了很多现成的功能,rand可以生成一个随机整数,可以查阅cplusplus文档.浏览器输入www.cplusplus.com.cstdlib这是C++风格的写法,stdlib.h是C语言风格的写法,C++也可以用stdlib.h.C语言

随机推荐