EthanLin-TWer / dialect-game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

骰子游戏

需求描述

在骰子游戏,每位玩家投掷 5 次 6 面骰子,玩家投掷的结果如果符合某几个得分规则,则取最高分值的规则并加上基础分。举个例子,假如玩家投掷的是 5、6、5、5、2,在以下规则中会得到 15 分(三个相同的 5)。15 分加上数基础分(5+6+5+5+2)23 分总分为 38 分。 请按照给定的投掷结果和给定的得分规则计算总分,并不需要完成随时投掷骰子的功能。程序应该帮助玩家选择最高的得分算法。

规则 概述 举例
基础分 所有骰子分的总和 1,1,3,3,6 总分 14(1+1+3+3+6)
全都相同 如果所有值都相同,则玩家可以获得 50 分 1,1,1,1,1 总分 50
1,1,1,2,1 总分 0
两个相同 最大的一两个相同的总和 1,1,6,2,6 总分 12(6+6)
3,3,3,4,1 总分 6(3+3)
两个两个相同 两对的总和 1,1,2,3,3 总分 8(1+1+3+3)
1,1,2,3,4 总分 0
1,1,2,2,2 总分 6(1+1+2+2)
三个相同 三个相同数字的总和 3,3,3,4,5 总和 9(3+3+3)
3,3,4,5,6 总和 0
3,3,3,3,1 总和 9(3+3+3)
四个相同 四个相同数字的总和 2,2,2,2,5 总和 8
2,2,2,5,5 总和 0
2,2,2,2,2 总额 8

运行代码

npm i
npm test

主要的代码在src/index.js中,所有的测试用例在src/index.test.js中。

Tests Result

About


Languages

Language:JavaScript 100.0%