Почему моя программа "Rock Paper Scissors" не работает и продолжает сбивать мою страницу? - PullRequest
0 голосов
/ 27 октября 2019

Мое задание «Rock Paper Scissors» попросило меня также использовать очень специфические диаметры. Это просто не работает. Вместо того, чтобы появиться какая-либо из зарегистрированных консолей, страница даже не загрузится.

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


var hands = ['Rock', 'Paper', 'Scissors'];

function getHand(){
        return hands[parseInt(Math.random()*hands.length)%3];
}

var player1 = "Mike";
console.log("Hello " + player1);

var player2;
console.log("Player 2 is the computer!");

//var playWins = 0;
//var compWins = 0;

function playRound(){

    if (hand == computer){
        console.log("You guys tied!");

    } else if (hand == "Scissors" && computer == "Rock"){
        console.log(player1 + " has lost! Sadddd...");
        compWins++;
    } else if (hand == "Paper" && computer == "Rock"){
        console.log(player1 + " has wonnnn!!! Yay! I guess...");
        playWins++

    } else if (hand == "Rock" && computer == "Scissors"){
        console.log(player1 + " has wonnnn!!! Yay! I guess...");
        playWins++;
    } else if (hand == "Paper" && computer == "Scissors"){
        console.log(player1 + + " has lost! Sadddd...");
        compWins++;

    } else if (hand == "Rock" && computer == "Paper"){
        console.log(player1 + + " has lost! Sadddd...");
        compWins++;
    } else if (hand == "Paper" && computer == "Paper"){
        console.log(player1 + " has wonnnn!!! Yay! I guess...");
        playWins++;
    } else {console.log("There seems to be a problem.");}
}


hand = [];
computer = [];


while (hand <= 3 || computer <= 3){
    for (i = 0; i >=5; i++ ){
    hand.push(getHand());
    computer.push(getHand());

    playRound();
    }
}

if(playWins>compWins){
    console.log(player1 + " Wins!");
} else {
    console.log("Computer Wins!");
}

Я ожидал, что он скажет мне, кто выигрывает в каждой игре, затемкоторый выигрывает в целом после по крайней мере 5 матчей. Я не вижу своих сообщений об ошибках, потому что страница даже не загружается полностью.

1 Ответ

0 голосов
/ 27 октября 2019

У вас есть бесконечный цикл. Пара ошибок делает это возможным. Во-первых, это массивы:

while (hand <= 3 || computer <= 3)

Итак, я предполагаю, что вы хотите проверить их длину ?:

while (hand.length <= 3 || computer.length <= 3)

Тогда у вас также есть логическая ошибказдесь:

for (i = 0; i >=5; i++ ){

Поскольку i начинается как 0, это сразу , а не >= 5, поэтому цикл for никогда не вводится, а цикл whileпросто повторяется до бесконечности. Вы, вероятно, захотите <=:

for (i = 0; i <= 5; i++ ){

Вы также захотите раскомментировать их, чтобы определить переменные, так как вы будете использовать эти переменные позже:

var playWins = 0;
var compWins = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...