1

I'm trying to have a random generator, that has some more common and more rare results, but it doesn't seem to work. Nothing happens when I click the button, that is supposed to generate the result. I used code I found here (jquery Using ranges in switch cases?) in other answers, but maybe it wasn't the right choice for my problem?

function checkRange(raceNumber, n, m) {
    if (raceNumber >= n && raceNumber <= m) { return x; }
    else { return !raceNumber; }
}

function race() {
    var raceNumber = Math.floor((Math.random()*100)+1);
    switch (raceNumber) {
        case checkRange(raceNumber, 1,14):
            return "Ambrier";
            break;
        case checkRange(raceNumber, 15,28):
            return "Barbar";
            break;
        case checkRange(raceNumber, 29,42):
            return "Wechselbalg";
            break;
        case checkRange(raceNumber, 43,56):
            return "Oger";
            break;
        case checkRange(raceNumber, 57,70):
            return "Kobold";
            break;
         case checkRange(raceNumber, 71,76):
            return "Zwerg";
            break;
         case checkRange(raceNumber, 77,82):
            return "Elf";
            break;
         case checkRange(raceNumber, 83,88):
            return "Entführter Mensch";
            break;
         case checkRange(raceNumber, 89,94):
            return "Troll";
            break;
         case checkRange(raceNumber, 95,100):
            return "Untoter";
            break;
    }
}
Shiladitya
  • 12,003
  • 15
  • 25
  • 38
Candacis
  • 17
  • 4

1 Answers1

1

Modify the checkRange() function. Because x is undefined in your case.

replace

function checkRange(raceNumber, n, m) {
    if (raceNumber >= n && raceNumber <= m) { return x; }
    else { return !raceNumber; }
}

by

function checkRange(raceNumber, n, m) {
    if (raceNumber >= n && raceNumber <= m) { return raceNumber ; }
    else { return !raceNumber; }
}
P. Frank
  • 5,691
  • 6
  • 22
  • 50