저는 자바 스크립트를 처음 접했고 간단한 Tic Tac Toe 프로그램을 만드는 법을 배우려고합니다. 나는이 단계에서 리팩토링에 관심이 없지만 기본적인 요소가 작동하도록하고있다.자바 스크립트 : 버튼이있는 .innerHTML 데이터 저장
window.onload = function() {
// Establish the boxes for the selector
var boxOne = document.querySelector("#b1");
// Create an event when a box is clicked
boxOne.onclick = function() {
if (boxOne.innerHTML === "X") {
boxOne.innerHTML = "O";
} else {
boxOne.innerHTML = "X";
}
}
// Check the current innerHTML of the grid for a win.
var b1 = boxOne.innerHTML,
b2 = boxTwo.innerHTML,
b3 = boxThree.innerHTML,
b4 = boxFour.innerHTML,
b5 = boxFive.innerHTML,
b6 = boxSix.innerHTML,
b7 = boxSeven.innerHTML,
b8 = boxEight.innerHTML,
b9 = boxNine.innerHTML;
var board = [
[b1, b2, b3],
[b4, b5, b6],
[b7, b8, b9]
];
endButton.onclick = function() {
console.log(board);
}
var clearButton = document.getElementById('clear');
var allBoxes = document.querySelector(".box");
clearButton.onclick = function() {
allBoxes.innerHTML = "";
}
}
이 플레이어는 그때 원하는 X 또는 O를 선택하는 상자를 클릭 할 수 있어야 게임이 보드와 보고서의 현재 상태를 확인할 수 있도록 그들에게 '종료를 켜고'를 클릭 : 여기 코드는 필요한 경우 승리 조건.
그러나 플레이어 입력을 저장하지 않는 것 같습니다. '.innerHTML'을 호출하면 빈 배열이 반환됩니다. 그러나 브라우저 콘솔을 보면 '.innerHTML'요소에 X 또는 O가 있음을 알 수 있습니다. 따라서 데이터가 있지만 배열에 입력되지 않습니다. 나는 그것의 다른 구현에서 이것을 시험해 보려고했으나 배열은 공백으로 남았다.
"지우기"버튼도 작동하지 않습니다. 지금까지 Google이 요소에서 HTML 입력을 지우는 예제로 여기까지 사용한 모든 것을 사용했습니다.
내 코드의 문제점을 이해하는 데 도움을 줄 수있는 사람이 있습니까? 고맙습니다.
추가 정보 : HTML, CSS 및 JS 문서가 포함 된 모든 현재 작업 파일 here on Github을 검토 할 수 있습니다.
변수의 순서와 배치에 대한 의견을 보내 주셔서 감사합니다! 그것은 트릭을했다. 그게 문제라고 생각하지 않았을거야. 또한 리팩터링 제안에 감사 드리지만 언급 한 바와 같이 리팩토링이나 직접 솔루션에 대해서는 걱정하지 않습니다. 나는 단지 내가 가지고있는 것과 그것이 실제로하는 것을 이해할 필요가있어서, 스스로 할 수있는만큼 그것을 알아낼 수 있습니다. 다시 감사합니다. – Proto