나는 안드로이드에 대한 html/javascript 게임에서 일하고 있습니다. 그것은 다음을 수행하는 보드 게임입니다. 다른 색상의 타일이 있으며 사용자는 보드에 하나의 타일 (프로그래밍 방식으로 선택)을 배치 할 수 있습니다. 우리가 같은 색깔/모양의 4 개 이상의 타일을 얻으면 우리는 어떤 점수를 얻습니다. 그리고이 타일들은 사라질 것입니다. 제거 된 타일 위의 타일이 해당 타일을 대체하고 새로운 타일이 빈 장소에 추가됩니다. 그 작동 방식을 보여주는 아래 화상 (이것은 단지 일례이며, 실제 판 다른 치수를 가질 수있다) 다음 타일 I를 확인하기 위해 사용하는 어레이에 저장된 자신의 ID가 <img>
요소자바 스크립트 보드 게임 : 최적화를 찾고
있다 일치 및 교체.
모두 잘 작동하지만 일단 새로운 타일이 보드에 추가되면 새로운 보드를 사용할 수 있는지 전체 보드를 검사해야합니다. 전체 게시판을 검토하는 것이 실제로 느릴 수 있으므로 여기에 조언이 필요합니다. 이 작업을 효율적으로 수행 할 수있는 방법이 있습니까? 여기에 내가 뭘 생각 무엇 : 앞의 예 감안할 때
, 나는 즉, 적색 지역으로 이동 또는 추가 된 요소만을 요소만을 검사에 대해 생각했다. 이동/추가 된 타일 만 확인하면됩니다. 타일이 수직으로 이동하면 효과적 일 수 있습니다. 그러나 타일을 수평으로 제거하는 경우 문제가 될 수 있습니다. 타일이 바닥에 있으면 전체 보드를 조사해야하고 동일한 문제에 직면하게됩니다.
조언이나 제안을 주시면 감사하겠습니다.
참고 : 코드를 추가하지 않은 이유는 지정된 타일의 행과 열을 확인하고 일치하는 항목을 찾기 만하기 때문입니다. 그러나 필요한 경우 제공 할 수 있습니다.
EDIT : 누구나 반대하기 전에 나는 여기에 답을받지 못했기 때문에 게임 개발 섹션에이 질문을 추가했다는 사실을 알리고 싶습니다. :)
편집 : 추가 내 코드
function initializeBoard(){
//items is an array which contains tiles/images names
for(var i=0; i < totalItems; i++)
board[i+1] = Math.floor(Math.random() * (items.length - 1)) + 1;
for(var i=0; i < totalItems; i++)
{
if(!(i % numberShapesXAxis))
document.write("<BR>");
document.write("<img src=\"images/"+ items[board[i+1]]+ ".gif\" style = \"border:0; height:"+ itemSize+ "px; width:"+ itemSize+ "px;\" name=\"t", i+1,"\" onclick = \"replaceAndCheck(", i+1, ")\"><\/a>");
}
}
//so basically board contains image ids.
이미지에 대한 참조뿐만 아니라 선과 열을 저장 하시길 바랍니다. 네, 코드 (적어도 데이터 구조를 초기화하는 부분과 현재의 이동 논리)를 제공해야합니다. – Bergi
@Bergi 먼저 내 보드 초기화 코드 – Anila