숯 , 71 바이트
NβA‹β³²τA§o^τεA§XVτφA§XvτθF³«P↑⁵|_»↑⁵←I←×_⁵‖O→↙↙←←ε↙←^↖↓ε↓→φθφθφ¿⁼β³¹‖←
참고 :이 코드는 문자열 인덱싱이 손상되어 게시 시점의 최신 커밋에서 작동하지 않습니다. 그러나 10 월 25 일부터이 버전 에서 작동해야합니다 . 또한 온라인 으로 시험 온라인 버전에서도 성공적으로 실행됩니다 .
설명
숯은 ASCII 예술을 위해 설계된 언어입니다. 출력은 캔버스에 저장되며 프로그램 끝에서 인쇄됩니다.
설정
입력을 받고 얼굴 문자를 계산하십시오.
Nβ Input number into beta
A‹β³²τ Assign beta<32 to tau for easy reuse
A§o^τε Assign appropriate eye character (selected via indexing into "o^") to epsilon
A§XVτφ Assign outside and middle mouth character to phi
A§Xvτθ Assign other mouth character to theta
호박을 그립니다
F³« » Do this three times:
P↑⁵ Draw a 5-character line upward (using | by default); don't move the cursor
|_ Draw that string, rightward
이 루프 후에 우리는
| | |
| | |
| | |
| | |
|_|_|_
다음 것:
↑⁵ Draw a 5-character line upward
←I Draw the stem leftward
←×_⁵ Draw 5 underscores leftward
‖O→ Reflect the canvas rightward, overlapping in the middle
결과:
_____I_____
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
|_|_|_|_|_|_|
얼굴 그리기
얼굴을 똑바로보고 나중에 필요할 경우 변경합니다.
↙↙←←ε Move to the correct spot and draw the right eye (our right, pumpkin's left)
↙←^ Move to the correct spot and draw the nose
↖↓ε Move to the correct spot and draw the left eye
↓→φθφθφ Move to the correct spot and draw the mouth with alternating characters
결과 (입력 31
) :
_____I_____
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|
그것이 할로윈인지 반영하십시오 :
¿⁼β³¹ If beta equals 31:
‖← Reflect canvas leftward
최종 출력 :
_____I_____
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|
x^n>30
트릭은 처음에 혼란 스러웠지만 진행중인 일을 해결할 때 내 대답을 향상시키기 위해 뻔뻔스럽게 그것을 훔쳤습니다. 보상으로 나는 당신에게 어쨌든 그것을 찬성 투표하고 있습니다.