나는 이드의 2 차원 배열로 상자를 표현하는 게임을 만들었습니다.자바 스크립트 그리드 계산
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,3,3,3,3,X,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,1,1,1,1,5,5,5,5,5]];
상자가 서로 겹치고, X가 빈 부분을 나타냅니다.
상자 중 하나가 삭제 된 경우 위의 상자 중 하나를 선택하여 아래로 이동하십시오. 그래서 그들은 항상 깔끔하게 쌓여 있습니다. 내가 ID와 함께 상자 삭제 인 경우
그래서 : 3과 같이 그 자리에 아래로 슬라이드 :
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,3,3,3,3,X,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,X,X,X,X,5,5,5,5,5]];
가 그럼 난 상자가 원하는 것 :
1이 같은 새로운 그리드를 얻을 것var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,X,X,X,X,X,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,3,3,3,3,5,5,5,5,5]];
마지막으로 상자 : 4 3가 어디에 아래로 이동해야합니다 :이 일을하는 쉬운 방법이
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,3,3,3,3,5,5,5,5,5]];
있습니까? 나는 상자가 파괴되었을 때 격자를 검사하는 콜백을 생각하고 있었지만, 나는 IF 문을 주로 사용했다. 거기에 우아한 뭔가가 있습니까?
이box = {id: 3,
start: 1,
length: 4};
JS 로직에서 수행 한 작업을 확인하는 것이 도움이 될 것입니다. 그것을 개선하는 데 도움이 될 수도 있습니다. (내가 볼 수있는 한 완벽한 게임 (박스 가을) 로직을 찾고 있습니다 :)) –