Расширенный класс, не найденный, когда Базовый класс находится в отдельном, включает файл

Необходимо добавить функцию для вызова после того, как пользователь выберет Бумагу, Скалу или Ножницы. Поместите "computerChoice" логику в эту функцию, чтобы вычислить компьютерный выбор и сравнить его с тем, что выбрал пользователь.

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

var paper = document.querySelector("#paper header");

paper.addEventListener("click", function(userMove) {
paper.classList.toggle("header-special");
userChoice = 'paper';
output.innerHTML = 'You  Chose Paper'
  compareWithComputer('paper');
});

var scissors = document.querySelector("#scissors header");
scissors.addEventListener("click", function(userMove) {
scissors.classList.toggle("header-special");
userChoice = 'scissors';
output.innerHTML = 'You  Chose Scissors'
  compareWithComputer('scissors');
});

var stone = document.querySelector("#stone header");
stone.addEventListener("click", function(userMove) {
stone.classList.toggle("header-special");

output.innerHTML = 'You  Chose Stone';
  compareWithComputer('stone');
});

// Computer choice
function compareWithComputer(userChoice) {
  var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "Stone";
} else if(computerChoice <= 0.67) {
computerChoice = "Paper";
} else {
 computerChoice = "Scissors";
}
  output.innerHTML += '. Computer Chose ' + computerChoice;

  // Enter conditional logic here to compare userChoice and Computer Choice

}
7
задан Bill 2 September 2009 в 01:24
поделиться

2 ответа

Это должно иметь какое-то отношение к порядку определения, и что КАЖДЫЙ класс должен быть включен, прежде чем вы начнете работать с ними. Если вы поместите вызов

$main = new mainClass();

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

6
ответ дан 7 December 2019 в 01:24
поделиться

Ладно, думаю, я понял это. Согласно этому отчету об ошибке:

http://bugs.php.net/bug.php?id=30453

PHP 4 разрешал определять классы после их использования, но для PHP 5, по словам конец сообщения об ошибке:

PHP5 поддерживает его [объявление классов после того, как они используются] для обратного совместимость, но мы не планируем поддержка всех комбинаций.

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

4
ответ дан 7 December 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: