Корона и Якорь на JS

174
27 мая 2018, 01:40

выполнял задание по JS, там надо было сделать игру Корона и Якорь. И вроде все довольно ясно, и код сравнил с кодом учебника, но не понимаю почему в консоль не выводятся числа.

//возвращает случайное целое число в диапазоне [m, n] (включительно) 
function rand(m, n) { 
  return m + Math.floor((n - m + 1) * Math.random()); 
} 
 
//случайно возвращает строку, представляющую одну из шести граней 
//Короны и Якоря 
function randFace() { 
  return ["crown", "anchor", "heart", "spade", "club", "diamond"][rand(0, 5)]; 
} 
 
let funds = 50; //Начальное условие 
let round = 0; 
 
while (funds > 1 && funds < 100) { 
  round++; 
  console.log("round ${round}:"); 
  console.log("\tstarting funds: ${funds}p"); 
 
  //Размещение ставок 
  let bets = { crown: 0, anchor: 0, heart: 0, spade: 0, club: 0, diamond: 0 }; 
  let totalBet = rand(1, funds); 
  if (totalBet === 7) { 
    totalBet = funds; 
    bets.heart = totalBet; 
  } else { 
    //распределение всех ставок 
    let remaining = totalBet; 
    do { 
      let bet = rand(1, remaining); 
      let face = randFace(); 
      bets[face] = bets[face] + bet; 
      remaining = remaining - bet; 
    } while (remaining > 0); 
  } 
  funds = funds - totalBet; 
  console.log( 
    "tbets: " + 
      Object.keys(bets) 
        .map(face => "${face}: ${bets[face]} pence") 
        .join(", ") + 
      " (total: ${totalBet} pence)" 
  ); 
 
  //Бросок костей 
  const hand = []; 
  for (let roll = 0; roll < 3; roll++) { 
    hand.push(randFace()); 
  } 
 
  console.log("\thand: ${nand.join(", ")}"); 
 
  //Получение выигрыша 
  let winnings = 0; 
  for (let die = 0; die < hand.length; die++) { 
    let face = hand[die]; 
    if (bets[face] > 0) winnings = winnings + bets[face]; 
  } 
  funds = funds + winnings; 
  console.log("\twinnings: ${winnings}"); 
} 
 
console.log("\tending funs: ${funds}");

Answer 1

У вас ещё кое-какие ошибки были, поправил.

  //возвращает случайное целое число в диапазоне [m, n] (включительно) 
function rand(m, n) { 
  return m + Math.floor((n - m + 1) * Math.random()); 
} 
 
//случайно возвращает строку, представляющую одну из шести граней 
//Короны и Якоря 
function randFace() { 
  return ["crown", "anchor", "heart", "spade", "club", "diamond"][rand(0, 5)]; 
} 
 
let funds = 50; //Начальное условие 
let round = 0; 
 
while (funds > 1 && funds < 100) { 
  round++; 
  console.log(`round ${round}:`); 
  console.log(`\tstarting funds: ${funds}p`); 
 
  //Размещение ставок 
  let bets = { crown: 0, anchor: 0, heart: 0, spade: 0, club: 0, diamond: 0 }; 
  let totalBet = rand(1, funds); 
  if (totalBet === 7) { 
    totalBet = funds; 
    bets.heart = totalBet; 
  } else { 
    //распределение всех ставок 
    let remaining = totalBet; 
    do { 
      let bet = rand(1, remaining); 
      let face = randFace(); 
      bets[face] = bets[face] + bet; 
      remaining = remaining - bet; 
    } while (remaining > 0); 
  } 
  funds = funds - totalBet; 
  console.log( 
    "tbets: " + 
      Object.keys(bets) 
        .map(face => `${face}: ${bets[face]} pence`) 
        .join(", ") + 
      ` (total: ${totalBet} pence)` 
  ); 
 
  //Бросок костей 
  const hand = []; 
  for (let roll = 0; roll < 3; roll++) { 
    hand.push(randFace()); 
  } 
 
  console.log(`\t nand: ${hand.join(", ")}`); 
 
  //Получение выигрыша 
  let winnings = 0; 
  for (let die = 0; die < hand.length; die++) { 
    let face = hand[die]; 
    if (bets[face] > 0) winnings = winnings + bets[face]; 
  } 
  funds = funds + winnings; 
  console.log(`\twinnings: ${winnings}`); 
} 
 
console.log(`\tending funs: ${funds}`);

READ ALSO
Выводить рандомные значения в графиках

Выводить рандомные значения в графиках

Как сделать чтоб на странице выводились рандомные значения в графиках каждые 5 секунд ?

180
Событие после полной загрузки HTML5 видео

Событие после полной загрузки HTML5 видео

Есть HTML страница на которой плавно по таймеру появляются элементы (jQuery):

137
Работа скрипта в разных браузерах

Работа скрипта в разных браузерах

В общем есть такой скрипт, листающий страницу по скролу к якорямРаботает в Хроме, но не работает в ОгнеЛисе

166
Как изменить радиус градиента

Как изменить радиус градиента

Возник такой вопроскак изменить радиус градиента через js???

142