Не могу получить простую текстовую функцию файтинга, вызванную из моего html файла для правильной работы (циклы и операторы if ... else) - PullRequest
1 голос
/ 11 февраля 2020

Я новичок в JavaScript (и программирование в целом). Я просто играл с этим сценарием, который проверяет, сколько боевых раундов требуется, чтобы fighter1 выбил fighter2, и записывает все боевые события на страницу.

Когда я вызываю функцию fightClub(); из моего HTML -файл, все, что печатается, это «Тест». Как я могу заставить это работать? Моя логика c несовершенна?

Любая помощь будет высоко ценится! <3 </p>

const fighter1 = array ("Jimmy", 10, 2);

const fighter2 = array ("Chet", 10, 2);

function fightClub(fighter1, fighter2){
    document.write('Test');

    let hitcheck = math.ceil(math.random() * 10);
    while (fighter2[1] > 0){
        let roundNumber = 1;
        roundNumber++;
        if(hitcheck >= 5){
            fighter2[1] = fighter2[1] - fighter1[2];
            document.write('Round' + roundNumber);
            document.write(fighter1[0] + ' deals ' + fighter1[2] + ' damage to ' + fighter2[0]);
        }else {
            document.write('Round' + roundNumber);
            document.write(fighter1[0] + ' swung in the air and... missed ' + fighter2[0]);
        }
        if(fighter2[1] <= 0){
            document.write(fighter2[0] + ' was knocked out.');
            break;
        }
    }
}

1 Ответ

2 голосов
/ 11 февраля 2020

В вашем коде несколько синтаксических ошибок. Исправьте их, и вы увидите результат.

Вот оно:

const fighter1 = ["Jimmy", 10, 2];

const fighter2 = ["Chet", 10, 2];

function fightClub(fighter1, fighter2){
    document.write('Test');

    let hitcheck = Math.ceil(Math.random() * 10); // use 'Math' not math
    while (fighter2[1] > 0){
        let roundNumber = 1;
        roundNumber++;
        if(hitcheck >= 5){
            fighter2[1] = fighter2[1] - fighter1[2];
            document.write('Round' + roundNumber);
            document.write(fighter1[0] + ' deals ' + fighter1[2] + ' damage to ' + fighter2[0]);
        }else {
            document.write('Round' + roundNumber);
            document.write(fighter1[0] + ' swung in the air and... missed ' + fighter2[0]);
        }
        if(fighter2[1] <= 0){
            document.write(fighter2[0] + ' was knocked out.');
            break;
        }
    }
}

fightClub(fighter1, fighter2);
...