飞镖游戏等级结束

时间:2015-05-29 14:43:37

标签: javascript

我需要一些关于如何结束飞镖游戏的逻辑方面的帮助。 到目前为止,我有以下规则。玩家每回合有3次投掷,将得分(501)降低到0.每次投掷都会添加到一个阵列中(最多可容纳三个元素)。一旦抛出最后一个飞镖,所有三个元素的总值将从分数中扣除。

1 - 如果玩家的分数小于零或等于一 - 胸围,则在转弯开始时将运行总数的玩家重置为分数。

2 - 玩家的分数等于零 - 完成游戏。

3 - 玩家必须以双倍得分结束比赛(如果剩余10分,则获得双倍5分)

这是我到目前为止(伪代码)

if(score < 0 or score == 1)
{
   console.log("bust")
   score = array[0];
}
else if(score == 0)
{
   console.log("game finished")
}
else if(score -(scoreNumber * 2) == 0)
{
   console.log("double out. game finished")
}

小提琴添加 - https://jsfiddle.net/j7bzq5k7/

2 个答案:

答案 0 :(得分:0)

分数不足以解决此信息。

当有人投掷18时,它可以是单人18,双人9或三人6,所以只知道&#39; 18&#39;是不足够的。你必须知道他们是否投掷了双打或旅行。如果您有这些信息,那么逻辑就很简单。

要记住一件事:你不必在最后一回合投掷三个飞镖。如果你只扔了一个双倍并完成,你已经赢了。所以你需要在每次投掷后评估胜利情况。

答案 1 :(得分:0)

@tba只需添加一个变量&#39; isDouble = false&#39;所以你的小提琴例子可以正确运行。否则你的程序只会在3次抛出后检查或计算,因为@GolezTrol说。游戏将在几个场景中结束。所以考虑一下,我的意思是计算每次投掷后的得分(心理计算)。检查它是否结束了比赛。在第三次投掷,你总是可以执行当前的程序。这至少是我的想法。