왜 이것이 어려웠는가
-
Bash의 속도 문제: Bash는 매우 느려서 픽셀당 명령을 실행하면 적절한 프레임 속도를 달성할 수 없음. 화면 상태를 메모리에 유지할 수 없으며, 배열이나 문자열로 접근하는 데 시간이 많이 소요됨.
-
수학적 제한: Bash는 부동소수점 지원이 없고 수학 함수 라이브러리도 없음. 모든 수학 연산은 정수로 수행되며, 100000으로 스케일링됨.
-
터미널 그래픽 문제: 픽셀을 표현하기 위해 유니코드 반 블록을 사용하여 수직 해상도를 두 배로 늘림. 인접 픽셀의 색상을 알아야 하며, Bash는 상태를 저장할 수 없음.
-
기타 문제점:
- 터미널 전체를 한 번에 업데이트하는 것이 어려움.
- 대부분의 터미널은 비디오 게임을 위한 것이 아니며, 키 입력을 실시간으로 처리하기 어려움.
- 터미널을 색상으로 채우는 데 많은 데이터가 필요함.
- Bash는 여러 줄의 문자열을 한 번에 출력하지 않음.
- ECMA48, VT100, VT200, Xterm 등의 표준은 복잡하고 이해하기 어려움.
- 수학적 계산에 어려움이 있었음.
FAQ
-
Q: 창 크기를 조정하면 문제가 발생함
-
Q: CPU가 과열되거나 오래된 컴퓨터가 느려짐
-
A: 환경 변수 FPS를 30 미만으로 설정해 보세요.
-
Q: Bash 버전 5 미만에서 작동하지 않음
-
Q: 이 코드가 순수 Bash인가요?
-
A: 아닙니다. 시작 시 stty를 호출하여 에코를 비활성화하고 종료 시 다시 활성화함.