시뮬레이션하기 위해 여기 데모의 이미지입니다. 사용자가 이들을 선택하면 그 위의 모든 블록이 삭제됩니다. 나는 이것을 사소한 복잡성으로 시뮬레이션하는 가장 좋은 방법을 찾고 싶다.가장 좋은 알고리즘은 블록 드롭
for (int i = 0; i < 8; i++)
for (int j = 0; j < 8; j++) {
if (currentBlock == blank) {
while((currentBlock.pos.x - 8) >= 0) {
aboveBlock = (currentBlock.pos.x - 8);
replace(currentBlock,aboveBlock);
}
}
하지만 완벽한 알고리즘은 아닙니다. 누가 날 도울 수 있죠? 부디. 고맙습니다.
관련 언어가 너무 많기 때문에 관련 언어를 추가하십시오. –
@ Koushik 글쎄, 그는 일반적인 알고리즘을 찾고있다. 그는이를 자신이 선택한 언어로 쉽게 번역 할 수 있습니다. 대답이 이해할 수없는 언어를 사용하거나 자신의 개념이 자신의 언어를 선택하지 않으면 검색 범위를 좁힐 시간입니다. 그런데, 이것이 * C *인지 확실합니까? * C *는 루프 헤더에서 변수 선언을 허용합니까 (확실하지 않을 수도 있습니다)? –
@ChristianRau 예 c99 이상에서는 그런 종류의 선언이 허용됩니다. 그리고 그 이유는 내가 그에게 그렇게 묻고 있었기 때문입니다 (그가 같은 언어로 보일지도 모른다고 생각한 것입니다). 잘 C + + 또한 (자바에 대해 잘 모르는) 경기이며 더 나은 솔루션을 얻을 수 있도록 그들 각각의 속임수가있을 수 있습니다 제안 왜 많은 사람들 이이 질문에 액세스 할 수있을 수도 있습니다. 하지만 당신은 그가 알고리즘을 요구하는 것이 옳습니다. 그가 필요 없다고 느낀다면 나는 태그를 제거 할 것이다. –