'No more left left'상황을 완전히 제거 할 수있는 게임 디자인 기법이 있습니까? 즉. 게임에는 불가능한 시나리오가 없어야합니다.
내가 추측 한 한, 보석은 3 개 또는 4 개의 보석 그룹이 해산 된 후 사용자에게 제공 할 보석과 위치에 따라 다릅니다.
가능합니까? An always infinitely solvable Bejewelled game?
'No more left left'상황을 완전히 제거 할 수있는 게임 디자인 기법이 있습니까? 즉. 게임에는 불가능한 시나리오가 없어야합니다.
내가 추측 한 한, 보석은 3 개 또는 4 개의 보석 그룹이 해산 된 후 사용자에게 제공 할 보석과 위치에 따라 다릅니다.
가능합니까? An always infinitely solvable Bejewelled game?
답변:
끝없는 Bejeweled 게임을 만들 수 있습니다. PopCap은 최신 Bejeweled 3 (이 모드를 "Zen Mode"라고 함)으로 자체적으로 수행했습니다.
우선 , 보드를 처음 생성 할 때 적어도 하나의 유효한 이동이 있는지 확인해야합니다 .
플레이어가 움직일 때마다 결과 보드를 계산하고 유효한 움직임을 검색해야합니다. 찾을 것이 없으면 유효한 보드를 복원하기 위해 스폰 될 보석을 제어해야합니다. 최소한 한 번의 이동으로 3 개의 보석이 제거되고 3 개의 교체 보석을 스폰해야하므로,이 3 개의 교체 보석이 현재 보드와 함께 또 다른 유효한 이동을 형성하도록 할 수 있습니다. 끝없는 모드 달성.
물론 새로운 움직임이 새로운 보석으로 등장하는 것은 이상적이지 않지만 항상 게임 가능한 보드를 보장하는 저렴한 방법입니다. 유효한 움직임을 만드는 것은 실제로 보석의 위치 를 바꾸는 것을 의미하기 때문에 다른 움직임이 가능해지기까지는 그리 오래 걸리지 않습니다.
이미 언급했듯이, 보드의 큰 부분을 지우는 폭탄과 다른 수단은 게임 플레이에 다양성을 더할 것이지만, 끝없는 모드를 보장하는 데 필요하지는 않습니다.
예. 실제로 가능할 것입니다. 경우가 정의 된대로 중지 문제가 아닌 임의의 것이 아닙니다. 이 질문에 답하려면 두 부분으로 답해야합니다. 먼저 솔루션이 있으면 찾을 수 있고 두 번째는 항상 유효한 솔루션을 찾을 수 있습니다.
첫 번째 부분은 재생 가능한 보드를 생성 할 대체 타일 (보석)을 찾는 방법입니다. 이는 무차별 대입 방법을 통해 달성 할 수 있습니다. 재생 가능한 대치가 발생할 때까지 가능한 모든 교체 세트를 확인하십시오 (보다 최적의 무브 러트 방법도 있습니다).
두 번째 부분은 항상 교체 가능한 세트가 있는지를 결정하여 재생 가능한 세트를 생성하는 것입니다. 한 번의 이동으로 제거 된 타일 세트는 3 개의 타일 세트의 상위 세트가되므로 최소 3 개만 제거하는 경우 재생 가능한 세트를 항상 찾을 수 있으면 제거 된 타일의 모든 가능한 패턴에 대해 제거 가능한 타일의 하위 세트 인 세 개의 제거 된 타일 세트 각각에 대한 모든 솔루션을 포함하므로 재생 가능한 세트가 있습니다.
행 / 열에서 3 개의 타일 만 지우는 최소의 경우, B 유형의 타일로 구분 된 A 유형의 2 개의 타일을 포함하는 교체 세트 3 열의 경우, 3 행의 경우 왼쪽 또는 오른쪽으로). 이 세 타일의 중심을 적절한 A 타일로 바꾸면 3 세트가 생성됩니다. 이것은 원래 타일이 지워진 열 / 행을 따라 유효한 이동을 생성하는 타일 세트를 항상 찾을 수 있음을 나타냅니다. 미래의 행 또는 열로의 이동을 제한하는 것은 무한 재생 가능한 게임에 대한 유효한 솔루션이지만 그리 재미 있지 않을 것입니다. 그러나 보석으로 장식 한 일반적인 게임에 대한 모든 규칙을 사용하면 행 / 열 외부로도 이동할 수있는 솔루션이 항상 존재한다는 것을 쉽게 알 수 있습니다. 3 개의 A 형 타일을 드롭한다고 가정합니다. 여기서 A는 제거 된 3 개 세트의 위 또는 아래 / 왼쪽 또는 오른쪽의 타일 중 하나입니다. 이렇게하면 "폭탄"스타일 타일이 생성되어 제거 할 때 영역이 지워집니다. 그런 다음 다른 대체 타일 세트를 드롭하면 해당 폭탄과 일치하는 타일 영역이 지워집니다. 이 영역에는 다른 행 내에 3 개의 타일 하위 세트가 포함되므로 향후 이동이 반드시 단일 행 / 열로 제한되지는 않습니다. 이렇게하면 "폭탄"스타일 타일이 생성되어 제거 할 때 영역이 지워집니다. 그런 다음 다른 대체 타일 세트를 드롭하면 해당 폭탄과 일치하는 타일 영역이 지워집니다. 이 영역에는 다른 행 내에 3 개의 타일 하위 세트가 포함되므로 향후 이동이 반드시 단일 행 / 열로 제한되지는 않습니다. 이렇게하면 "폭탄"스타일 타일이 생성되어 제거 할 때 영역이 지워집니다. 그런 다음 다른 대체 타일 세트를 드롭하면 해당 폭탄과 일치하는 타일 영역이 지워집니다. 이 영역에는 다른 행 내에 3 개의 타일 하위 세트가 포함되므로 향후 이동이 반드시 단일 행 / 열로 제한되지는 않습니다.
컴퓨터 과학에서 멈추는 문제 에 대해 언급했습니다 .
임의의 컴퓨터 프로그램에 대한 설명이 주어지면 어느 시점에서 멈추거나 영원히 실행 될지 추론 할 수 있습니까? 이것을 "문제"라고하는 이유가 있습니다.
짧은 대답은 아닙니다. 아닙니다. Bejeweled 게임에 불법적 인 움직임이 없을 것이라고 보장 할 수는 없습니다. 이를 보장하려면 무한한 컴퓨팅 시간이 필요합니다.