выполнял задание по 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}");
У вас ещё кое-какие ошибки были, поправил.
//возвращает случайное целое число в диапазоне [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}`);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как сделать чтоб на странице выводились рандомные значения в графиках каждые 5 секунд ?
Есть HTML страница на которой плавно по таймеру появляются элементы (jQuery):
В общем есть такой скрипт, листающий страницу по скролу к якорямРаботает в Хроме, но не работает в ОгнеЛисе