2015-05-29 65 views
-1

我需要一些关于飞镖游戏结束逻辑的帮助。 到目前为止,我有以下规则。玩家每回合有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/

+0

为什么在逻辑之前计算总分?在每次投掷中肯定会遍历数组,并使用你的逻辑会更有意义? – dodo

+0

嗨;感谢您的帮助 - 小提琴现已添加 – tba

+0

小提琴中的错误 – Pooshonk

回答

0

分数不足以解决此信息。

当有人投掷18时,它可以是单人18,双人9或三人6,所以只知道'18'是不够的。你必须知道他们是否投掷双打或旅行。如果你有这些信息,这个逻辑很简单。

有一件事要记住:你不必在最后一回合投掷三个飞镖。如果你只掷出一双并完成比赛,那么你已经赢了。所以你需要在每次投掷后评估赢球情况。

0

@tba只需添加一个变量'isDouble = false',让您的小提琴示例可以正确运行。否则你的程序只会在@GolezTrol所说的3次抛出后检查或计算。游戏将在几种情况下结束。所以考虑它们,我的意思是在每次投掷(心理计算)后计算得分。检查是否结束游戏。在第三次扔你可以随时执行你当前的程序。这至少是我的想法。