Как изменить оценку выражения в условном выражении для проверки логического значения в Javascript? - PullRequest
0 голосов
/ 21 февраля 2019

Я создаю игру с подбрасыванием монет, и самый последний шаг - использование математических методов для получения твердого числа при подбрасывании монет.Затем измените оценку выражения в условном выражении, чтобы оно проверяло логическое значение.Какими способами я могу достичь этого?Что я делаю не так?

var coinFlip = Math.random();
var choice = window.prompt("Select heads or tails");
if (coinFlip < 0.5) {
    choice === window.console.log("heads");
} else {
    choice === window.console.log("tails");
} if (choice === "heads" && coinFlip < 0.5) {
    window.alert("The flip was heads and you chose heads..you win!");
} else if (choice !== "heads" && coinFlip < 0.5) {
    window.alert(" The flip was heads and you chose tails...you lose!");
} else if (choice !== "tails" && coinFlip > 0.5) {
    window.alert("The flip was tails but you choose heads...you lose!");
} else if (choice === "tails" && coinFlip > 0.5) {
    window.alert("The flip was tails and you chose tails...you win!");  
}
coinFlip = Math.Round(Math.Random);
coinFlip = Boolean(choice);

сильный текст

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Как насчет того, чтобы вообще покончить с числами?Вам не нужно «сплошное целое число», вам нужны головы или хвосты.

Math.random() возвращает действительное число от 0 до 1 - если вы Math.round(), вы получите либо 0или 1 точно.Ниже ноль соответствует головам, а один - хвостам, когда округленное число используется в качестве индекса в массиве.

const sides = [ "heads", "tails" ];

function play() {
    var choice = window.prompt("Select heads or tails");
    var flip = sides[ Math.round(Math.random()) ];
    console.log("flip was " + flip);
    if (choice === flip) {
        window.alert("You won with " + choice);
    }
    else {
        window.alert("You lost - your choice was " + choice +
                    " but the flip came up " + flip);
    }
}

play();
0 голосов
/ 21 февраля 2019

Вы можете округлить случайное значение до Math.round.

Math.round(coinFlip);

var coinFlip = Math.random();

console.log(Math.round(coinFlip));

var choice = window.prompt("Select heads or tails");
if (coinFlip < 0.5) {
    console.log("heads");
} else {
    console.log("tails");
}

if (choice === "heads" && coinFlip < 0.5) {
    window.alert("The flip was heads and you chose heads..you win!");
} else if (choice !== "heads" && coinFlip < 0.5) {
    window.alert(" The flip was heads and you chose tails...you lose!");
} else if (choice !== "tails" && coinFlip > 0.5) {
    window.alert("The flip was tails but you choose heads...you lose!");
} else if (choice === "tails" && coinFlip > 0.5) {
    window.alert("The flip was tails and you chose tails...you win!");  
}
...