c ++ 및 SFML-2.0을 사용하여 2 차원의 턴제 전략 게임을 만들고 있습니다. 움직임은 격자 기반이 아닌 거리 기반이며, 주어진 차례에 각각 제자리에서 회전하거나 앞으로 이동할 수있는 여러 개의 삼각형 모양 조각이 있습니다.
이동은 플레이어가 피스를 이동할 위치를 선택하여 피스의 잠재적 경로를 생성하는 방식으로 작동합니다. 플레이어가 자신의 결정을 확인하면 작품은 해당 경로를 따라 원하는 위치로 이동합니다. 경로는 거리, 조각이 얼마나 멀리 갈 수 있는지, 회전을 고려하여 두 가지 요소에 의해 제한됩니다. 및 조향각, 피스가 움직일 때 (예를 들어, -30 내지 30도) 임의의 (및 모든) 지점에서 회전 할 수있는 거리.
제 질문은 플레이어가 조각을 옮기도록 선택할 수있는 잠재적 위치 범위를 어떻게 결정해야합니까?
여기서 사용할 방정식 및 / 또는 알고리즘이 확실하지 않습니다. 내 원래 계획은 설명하기는 물론 구현하기가 거의 불가능한 시점까지 매우 복잡해졌으며,이 시점에서 프로젝트가 중단되면서 완전히 사라졌습니다.
회전 반경을 고려하여 유닛이 이동할 수있는 범위를 어떻게 확인할 수 있습니까?
예를 들어 아래 이미지에서. 빨강, 파랑 및 녹색 선은 모두 같은 길이입니다. 자주색 원은 유닛이 움직일 수있는 이동 범위를 나타냅니다. (모양이 부정확하고 선이 실제로 같은 길이 가 아닐 수도 있지만 아이디어를 얻습니다.)