【问题标题】:count points for elements in array with javascript switch case statement使用javascript switch case语句计算数组中元素的点数
【发布时间】:2013-01-10 12:10:08
【问题描述】:

我正在创建一个累积奖金游戏,它会根据给定图像出现的次数生成一个数组。然后计算有多少 0(未使用的牌),1(不同的牌),2(2 个相同的牌),3(相同的牌),4(4 个相同的牌),5(5 个相同的牌)出现数组(aPunten)看起来像这样:

8,5,0,0,0,0

这意味着 8 乘以 0、5 乘以 1、0 乘以 2(对)、0 乘以 3(行程)、0 乘以 4(四轮)、0 乘以 5

现在我需要为这些值分配一个分数,这就是我卡住的地方。 我想循环遍历数组(aPunten)并使用开关盒来分配点。

组合奖励积分:

5 equal cards= +50
4 equal cards= +25
3 equal cards + 1 pair  = +20
3 equal cards= +10
pair + pair = +5
pair= +2
5 different cards= +0

我希望有人能把我带到正确的轨道上

【问题讨论】:

    标签: javascript arrays for-loop switch-statement


    【解决方案1】:

    我自己设法弄清楚了,这可能不是最好的方法,但它确实有效。 随意给我看一个简短的版本。

    for (var k = 0; k < aPunten.length; k++) {
    
            switch (k) {
    
                case 0:
                    combo = "Jammer u hebt verloren...";
                    break;
                case 1:
                    combo = "Jammer u hebt verloren...";
                    break;
                case 2:
    
                    if (aPunten[k] == 1) {
                        x += 2;
                        paar += 1;
                        combo = "1 paar!!";
                    }
                    if (aPunten[k] == 2) {
                        x += 5;
                        paar += 2;
                        combo = "2 paar!!";
                    }
                    break;
                case 3:
    
                    if (aPunten[k] == 1) {
                        if (paar == 0) {
                            combo = "3 dezelfde!!";
                            x += 10;
                        } else if (paar == 1) {
                            combo = "3 dezelfde en 1 paar!!";
                            x += 20
                        }
                    }
    
                    break;
                case 4:
    
                    if (aPunten[k] == 1) {
                        combo = "4 dezelfde !!";
                        x += 25;
                    }
                    break;
                case 5:
    
                    if (aPunten[k] == 1) {
                        combo = "JAAACKKKKPOOOOOT!!";
                        x += 50;
                    }
                    break;
            }
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-15
      • 2010-09-26
      • 2014-01-01
      • 2013-09-24
      • 2012-07-26
      • 2014-01-06
      • 1970-01-01
      • 2015-02-24
      相关资源
      最近更新 更多