Отнодно задачи "9. *Dungeonest Dark от JS Fundamentals 3" и "Problem 2. Mu Online от MidExam 29.02.2020"
Това е абсолютно идентична задача проверена ред по ред. Парадоксалното е че при едно и също решение в двата случая (само се променя Coins с Bitcoins). Имам два варянта на задачата. В първият ми дава 90/100 и в двете задачи грешка в тест 10. А най смешното е че вторият ми дава 100/100 в 9-та* задача и 0/100 във 2-ра задача. Моля да ми отговорите каво точно греша в тези задача. Вече си мисля и то не без основани, че условията на задачит нещо куцат или нарочно са с не дописани важни условия.
1.
function dungeonestDark(string) {
    let monsterAndPower = string.toString();
    let initialHelt = 100;
    let initialCoints = 0;
    let leter = "";
    let power = "";
    let monsterArr = [];
    let powerArr = [];
    let bestrRoom = 0;
    let momentalPower = 0;
    let momentalPowerUp = 0;
    let bossKilled = false;
    for (let i = 0; i <= monsterAndPower.length; i++) {
        if (monsterAndPower.charCodeAt(i) >= 97 && monsterAndPower.charCodeAt(i) <= 122) {
            leter += monsterAndPower[i];
        } else if (monsterAndPower.charCodeAt(i) >= 48 && monsterAndPower.charCodeAt(i) <= 57) {
            power += monsterAndPower[i];
        } else if (monsterAndPower.charCodeAt(i) == 45) {
            power += monsterAndPower[i];
        } else if (monsterAndPower.charCodeAt(i) == 32) {
            monsterArr.push(leter)
            leter = "";
        } else {
            powerArr.push(power);
            power = "";
        }
    }
    for (let arrM in monsterArr) {
        if (!bossKilled) {
            bestrRoom++;
            for (let i = arrM; i < powerArr.length; i++) {
                if (monsterArr[i] == "potion") {
                    momentalPower = initialHelt;
                    initialHelt += Number(powerArr[i]);
                    if ((momentalPower + Number(powerArr[i])) <= 100) {
                        momentalPowerUp = Number(powerArr[i]);
                    } else {
                        initialHelt = 100;
                        momentalPowerUp = initialHelt - momentalPower;
                    }
                    console.log(`You healed for ${momentalPowerUp} hp.`);
                    console.log(`Current health: ${initialHelt} hp.`);
                    break;
                } else if (monsterArr[i] == "chest") {
                    initialCoints += Number(powerArr[i]);
                    console.log(`You found ${powerArr[i]} coins.`);
                    break;
                } else {
                    initialHelt -= Number(powerArr[i]);
                    if (initialHelt <= 0) {
                        console.log(`You died! Killed by ${monsterArr[i]}.`);
                        console.log(`Best room: ${bestrRoom}`);
                        bossKilled = true;
                        break;
                    } else {
                        console.log(`You slayed ${monsterArr[i]}.`);
                        break;
                    }
                }
            }
        }
    }
    if (!bossKilled) {
        console.log("You've made it!");
        console.log(`Coins: ${initialCoints}`);
        console.log(`Health: ${initialHelt}`);
    }
}
2.
function dungeonDark(arr){
  let dungen = arr[0].split('|');
  let health = 100;
  let coins = 0;
  let counterRooms = 0;
  let allCoins = 0;
 
  for(let i = 0; i < dungen.length;i++){
      let currentRoom = dungen[i].split(' ');
      let command = currentRoom[0];
      let num = Number(currentRoom[1]);
    counterRooms++;
 
      if(command === 'potion'){
        if (health + num > 100) {
          num = 100 - health;
          health = 100;
        } else
        {
          health += num;
        }
        console.log(`You healed for ${num} hp.`);
        console.log(`Current health: ${health} hp.`);
 
               
      }else if(command === 'chest'){
        coins = Number(num);
        allCoins += Number(num);
        console.log(`You found ${coins} coins.`);
 
      }else{
        health -= Number(num);
        if(health > 0){
          console.log(`You slayed ${command}.`);
        }else{
          console.log(`You died! Killed by ${command}.`);
          console.log(`Best room: ${counterRooms}`);
          return;
        }
       
      }          
  }
    console.log(`You've made it!`);
   console.log(`Coins: ${allCoins}`);
   console.log(`Health: ${health}`);
}


Благодаря много, но не искам твоето решени, а отговор на конкретен въпрос. Надявам се да не те обиждам с отговора и ако е така се извинявам предварително за това. Въпроса ми е къде бъркам аз, а не как се справяш ти. Също така утре ще питам и нещо друго пак по същата тема, с неяснота в условията на задачите, а и всъщтност защо са на Английски език? В реалният живот когато получавам задание има кой да попитам при неяснота, въпреки, че с Африканският английски ми е малко трудно. Не съм сигурен в това, че заданието е правилно имайки в предвид кой английски се ползва (UK, US, Indian, Irish or.....). В същтност моя Английски не е от най-добрите и аз мога да съм допуснал грешка за което се извинявам също, но идеята на конкретният въпрос е какво точно аз не съм разбрал?