Это код. Проблема заключается в том, что this.play
вызов для запуска функции play()
всегда сообщает об ошибке. Я попробовал несколько разных вариантов, но ни один не работает.
[...]
event_listeners() {
var result;
$(document).on('keypress', function(evt) {
if (evt.which == 49) {
result = 1;
} else if (evt.which == 50) {
result = 2;
} else if (evt.which == 51) {
result = 3;
} else if (evt.which == 52) {
result = 4;
} else if (evt.which == 53) {
result = 5;
} else if (evt.which == 54) {
result = 6;
} else if (evt.which == 55) {
result = 7;
}
console.log(result);
this.play(result);
});
}
play(column) {
console.log('play methode' + column);
var movecount = 0;
availableRow = this._model.checkAvailableRow(column);
if (availableRow === -1) {
$('.won').text("Fehler! Spalte voll!");
return;
}
// Inkrementieren der Variablen, da checkAvailableRow() die Nummer der Zeile zurückgibt, hier aber der Arrayindex benötigt wird
availableRow++;
if (this.checkWin() == true) {
$('.won').html((currentPlayer === "Player 1" ? "Player 1" : "Player 2") + " gewinnt!");
}
if (movecount === 41) {
$('.won').html('Unentschieden!');
}
// Wechsel zum anderen Spieler
this.switchTurn();
movecount++;
}
[...]
При выполнении эта ошибка отображается в консоли.
View.js: 63 Uncaught TypeError: this.play не является функцией
Что я делаю не так, когда хочу запустить функцию play()
?