컴퓨터가 i3, i5 및 i7 대신 x86이라고 불리는 컴퓨터의 기능을 보여주는 오래된 데모는 다소 누락되었습니다. 제가 386에서 처음으로 본 것은 미래의 승무원 의 언리얼 데모 였습니다 . 25 주년을 축하합니다. 에서 분 0시 43분 데모의 첫 번째 부분은 시작하고 우리는 사인 곡선 경로를 따라 스크롤 텍스트를 참조하십시오. ASCII 아트에서 그 효과를 모방 해 봅시다!
도전
이 경로가 주어지면 :
*** ***
*** ***
** **
* *
* *
* *
* *
** **
*** ***
******
입력 텍스트는 다음과 같이 해당 경로를 따라 텍스트를 그립니다.
Thi Golf!
s i de Yay
s Co !
P
r d
o n
g a
ra s
mmi zle
ng Puz
공백은 경로에서 문자로 계산되며 텍스트가 샘플보다 길면 경로 자체가 반복됩니다.
애니메이션 부분
텍스트를 그린 후에는 약 10fps의 애니메이션을 만들기 위해 100ms 동안 기다렸다가 경로의 다음 위치에서 시작하여 텍스트를 다시 그립니다. 따라서 frame의 경우 텍스트가 항상 캔버스 왼쪽에 정렬 된 경로의 다음 위치에서 #n
계산 n modulo 40
하고 그리기를 시작하십시오.
*** ***
| *** *** |
| ** ** |
| * * |
| * * |
| * * |
| * * |
| ** ** |
| *** *** |
| ****** |
Position 0 Position 39
따라서 프레임 10의 경우 다음을 갖습니다.
and Co
es de
zl Go
z l
u f
T P !
h
is ng Ya
is mmi y!
Progra
메모
- 입력은 애니메이션을 적용 할 텍스트 가 포함 된 단일
string
(또는char
배열 등)이며 항상 1 자 이상이어야합니다. - 애니메이션을 적용 할 수있는 유효한 문자는 인쇄 가능한 ASCII 세트의 문자입니다 .
- 따라야 할 경로는 정확하게 주어진 것입니다.
- 텍스트는 항상 캔버스의 왼쪽에 맞춰 지므로 텍스트 변위없이 깃발처럼 흔들리는 텍스트가 효과가됩니다. 그리고 캔버스라는 말은 화면 또는 텍스트를 표시하는 데 사용할 것을 의미 합니다 . ;-)
- 문자 / 픽셀이 두 프레임에서 동일하지 않으면 프레임은 이전 프레임에서 문자 / 픽셀을 제거해야합니다.
- 애니메이션 속도는 장치가 매끄 럽거나 빠르게 실행되는 한 중요하지 않습니다 (최소 5fps로 설정할 수 있지만 필수 사항은 아닙니다). 속도를 조정하여 유동적으로 만들고 대기 시간이 정확히 같지 않아도 걱정하지 마십시오.
- 애니메이션은 끝없이 반복됩니다.
이것은 코드 골프 이므로 텍스트를 애니메이션 할 수있는 가장 짧은 프로그램이나 기능이 승리 할 수 있습니다!