고급 그리기 기술로이 도전 과제를 작성하는 그림.
배경
스틱맨 전쟁은 오래 전에 지구의 지배적 인 종들이 막대기로만 만들어 졌을 때 일어났습니다. 역사가들은 당시 화가나 카메라가 없었다는 사실을 후회하며, 오늘날의 역사 책에서 그 전쟁의 일부 그림을 사용할 수 있습니다. 그것이 바로 코딩 능력이 유용한 곳입니다. Stickmen은 매우 쉽게 끌 수 있으며 역사가들은 얼마나 많은 Stickmen이 전쟁에 참전했는지에 대한 데이터를 찾을 수있었습니다 ¹. 이제 전쟁이 시작되기 직전의 이미지를 재현하는 것은 당신에게 달려 있습니다!
다음은 전쟁에 관련된 용감한 스틱맨입니다.
오 / | / | \ / | | / \ 검객 OA / | \ | | | / \ | 창병 . . ' *. 'O * '\ | /. . | * './ \ *. 마술사 영형 / | \ | 마을 주민 영형 / | \ 유아
입력
전장의 양쪽에 등장하는 모든 스틱맨을 stdin 또는 이와 동등한 표현으로받습니다. 예를 들어, 두 명의 검객이 오른쪽에서 싸웠고 두 명의 창병이 왼쪽에서 싸운 경우 입력은 {Sword: 2}, {Spear: 2}
, [2,0,0,0,0], [0,2,0,0,0]
또는 일 수 있습니다 "WW", "SS"
.
산출
아래 규칙에 따라 전장에서 모든 용감한 스틱맨을 나타냅니다. 보트를 흔들 때마다 stdout에 표시되거나 파일로 저장할 수 있습니다.
규칙
- 왼쪽에는 프로그램이받은 첫 번째 배열 / 문자열 / 객체의 모든 stickmen이 있습니다.
- 그 stickmen 은이 질문에 앞서 보여진 것과 정확히 같아야합니다.
- 왼쪽 군대의 순서는이어야합니다
Infants Villagers Mages Swordsmen Spearmen
. - 오른쪽 군대는 똑같이 작동하지만 캐릭터와 명령이 반영됩니다.
- 각 stickman은 1 칸씩 분리됩니다.
- 각 수업은 3 칸씩 구분됩니다.
- 군대는 8 칸씩 분리됩니다.
- stickmen은 날지 않기 때문에 하이픈 빼기를 사용하여 땅을 그려야합니다
-
. - 지면은 오른쪽 군대의 마지막 stickman이 끝나는 같은 열에서 끝나야합니다.
예
내 프로그램이 길이가 5 인 두 개의 배열을 예상하고 배열의 각 값이 순서대로 나타납니다 Infants Villagers Mages Swordsmen Spearmen
.
입력 : [1,1,2,3,1] [0,0,1,1,1]
. . . . ' *. . ' *. . * '. O 'O *'O * O / O / O / OAAO \ O * O ' O / | \ '\ | /. '\ | /. | / | \ / | / | \ / | / | \ / / | \ | | / | \ \ / | \ | . \ | / ' / | \ | . | *. | * | | | | | | | | | | | | * | . / \ / \ './ \ *. './ \ *. / \ / \ / \ / \ | | / \ / \. * / \ '. -------------------------------------------------- -------------------------------------
최종 고려 사항
표준 허점이 적용 되고 마법사는 단지 비대칭 적이라는 점에 유의하십시오 .
가장 많이 답한 답변의 결과는이 도전의 "표지 이미지"입니다. 월말까지 가장 짧은 답변 (2014 년 8 월 31 일)이 승자로 선정됩니다.
이것은 code-golf 이므로 가장 짧은 코드 (바이트)가 이깁니다.
¹ 인용 필요
IVMMWWWS SWM
"도움이되는 것"의 한계 내에 있는 표현 일까요?