
《100% Orange Juice》는 6면체 주사위를 이용해서 최대 4명의 플레이어가 함께 플레이할 수 있는 보드게임 형태의 아케이드 게임입니다. 플레이어는 캐릭터를 하나 선택하고, 각자의 목적(스타 200개 획득, 상대방을 14번 쓰러트리기 등)을 달성하기 위해 플레이하며, 가장 먼저 목적을 달성한 플레이어가 승리합니다.
이 보드게임에는 전투 시스템이 존재합니다. 캐릭터마다 4개의 고유의 능력치 체력, 공격, 방어, 회피를 갖고 있습니다. 전투는 선공과 후공이 일대일로 수행하며 다음과 같은 방식으로 진행됩니다.
선공이 공격수, 후공이 수비수가 된다.
공격수가 주사위를 던진다. max(1,(주사위,,+,,공격)) 값이 이번 공격수의 공격의 공격력이다.
수비수는 공격력과 자신의 방어, 회피 능력치를 보고 방어와 회피 중 무엇을 수행할지 결정한다.
수비수의 체력이 0 이하가 되면 공격수가 승리한다.
공격수와 수비수의 역할을 바꾼다.
선공과 후공 각각 공격을 한 번씩 수행하면 전투를 종료한다.
전투 시 주사위 운도 중요하지만, 캐릭터의 능력치도 매우 중요합니다. 따라서 캐릭터 간의 전투 밸런스를 측정해보기 위해 다음과 같이 밸런스 측정을 위한 AI 로직을 만들고, AI끼리 전투를 시켜봄으로써 전투 밸런스를 측정해볼 수 있습니다.
(전투 로직에서 추가되거나 변경된 규칙의 경우 굵게 표시)
선공이 공격수, 후공이 수비수가 된다.
공격수가 주사위를 던진다. max(1,(주사위,,+,,공격)) 값이 이번 공격수의 공격의 공격력이다.
수비수는 공격력과 자신의 방어, 회피 능력치를 보고 방어와 회피 중 무엇을 수행할지 결정한다.
수비수의 체력이 0 이하가 되면 공격수가 승리한다.
공격수와 수비수의 역할을 바꾼다.
승자가 정해질 때까지 위 과정을 반복한다.
선공과 후공의 캐릭터 능력치가 주어지면 밸런스 측정을 위한 AI 로직을 따라서 전투를 수행했을 때 선공이 승리할 확률을 계산해봅시다.
첫 번째 줄에는 선공 캐릭터의 체력, 공격, 방어, 회피를 나타내는 정수 값이 차례로 주어집니다.
두 번째 줄에는 후공 캐릭터의 체력, 공격, 방어, 회피를 나타내는 정수 값이 차례로 주어집니다.
선공이 승리할 확률을 출력합니다.
출력한 값과 정답과의 절대 오차 또는 상대 오차가 10−6 이하여야 합니다.