콘웨이의 헬로우 월드


24

모든 프로그래머는 해당 언어를 한 눈에 본 후 모든 프로그래밍 언어로 "hello world"프로그램을 작성할 수 있어야한다고 말합니다 ( 일부 더 살펴본 후 빠른 정렬 ).

는 AS 생명의 콘웨이의 게임 튜링 (는 범용 프로그래밍 언어로 자격 때문에) , 문제는 자체 설명입니다 :

"Hello World!"를 만드십시오 Conway 's Game of Life만을 사용하는 응용 프로그램! 유일하게 유효한 항목은 Conway 's Game of Life의 초기 상태 입니다.

  • 텍스트 "Hello World!"와 유사한 인식 가능한 모양이 포함되어 있지 않습니다 .
  • 텍스트 "Hello World!"와 유사한 인식 가능한 모양 이 포함됩니다 . 합리적인 수의 사이클 내에서 (좋은 PC에서 몇 분 이상 실행하지 않아야 함-수십억 사이클이 가능하며 충분해야 함)
  • "Hello World!"가있는 지역 초기 상태에서는 텍스트가 비어 있어야합니다 ! (그렇지 않으면 문제가 너무 쉬울 것입니다.) 아무도 그렇게 할 수 없다면, 우리는이 요구 사항을 "대부분 비우기"로 줄일 수 있습니다.

채점 :

우승자는 첫 번째 유효한 제출 후 대략 1 주 동안의 투표 수를 기준으로합니다.

투표 지침 :

  • 더 정교하고 아름다운 출력은 더 가치가 있어야합니다
  • 많은 사이클에서 안정적인 출력은 다음 사이클에서 인식 할 수 없도록 사라지는 것 이상의 가치가 있어야합니다.
  • 영구적 인 사이클에 잠겨 있거나 흥미로운 패턴에서 시작하는 솔루션은 리버스 시뮬레이션의 무작위 시행 착오가 아니라 지능적인 상태 설계를 입증하기 때문에 가장 가치가 있습니다.

항목은 주목할만한 시뮬레이터 또는 응답자가 링크하는 온라인 시뮬레이터 중 하나 이상이 읽을 수있는 형식이어야합니다 . 애니메이션 또는 초기 상태로 설정된 시뮬레이터에 대한 링크도 허용되며 권장됩니다. 몇 사이클 내에 출력이 보이지 않으면 항목은 어떤 사이클 후에 결과를 볼 것인지 지정해야합니다.


편집하다:

생성되는 문구에 약간의 공차가있을 수 있습니다. " Hello, World!", " hello, world" " HELLO WORLD!"등 이 될 수 있습니다 .


그 문구 어딘가에 쉼표가 없어야합니까?
— ardnew

@ardnew : 어떤 문구?
— vsz

생성되는 문구 :Hello, world!
— ardnew

@ardnew : 감사합니다, 나는 부록을 편집했습니다. 궁극적으로 유권자들이 결정하기 때문에 의도적으로 약간의 모호함을 남겼습니다 . 주요 규칙 중 하나를 직접 위반하지 않았으며 유권자가 사소한 세부 사항에 대한 귀하의 해석을 좋아할 것이라고 생각하는 경우 원하는 방식으로 자유롭게 수행하십시오!
— vsz

1
내 시뮬레이터 를 사용할 수 있습니다 (RLE 및 일반 텍스트 가져 오기). 개발에는 좋지 않지만 적어도 적절한 속도로 임의의 큰 패턴을 실행합니다. 또한 패턴을 업로드하고 요청이있을 경우이를 연결 가능 할 수 있습니다
— 복사

답변:


50

이것에 대한 나의 첫 번째 시도는 비교적 간단한 해결책입니다. 두 개의 글라이더 배럴을 발사합니다. 각 글라이더 쌍은 블록으로 바뀌고 텍스트를 형성합니다. 이 프로세스는 약 16000 세대가 걸립니다 (프레임 스킵을 설정하거나 시뮬레이터에서 수퍼 스텝 버튼을 사용할 수 있음).

직접 링크 . 마우스 오른쪽 버튼으로 움직이고 마우스 휠로 줌하십시오.

.rle 파일에 링크 (Golly와 함께 사용 가능)

패턴 32 : 1의 이미지 :

패턴 이미지 32 : 1


4
캔버스를 지원하는 브라우저가 있고 시작 패턴이 보이지 않으면 스크롤 휠로 축소하십시오. 그것을 해결하는 데 시간이 걸렸습니다.
— 피터 테일러

우수한! codegolf.stackexchange.com/a/5946/3527 및 웹 사이트를 본 후이 과제에 대한 솔루션을 게시 할 것으로 기대했습니다 .
— Cristian Lupascu

1
@ w0lf 패턴을 만드는 것은 시뮬레이션과는 매우 다른 종류의 도전입니다. 그래, 난 이것으로 재미 있어요
— 복사

2
축하합니다! 이상하게도 다른 해결책을 제시 할 용기를 가진 사람은 아무도 없었습니다. 실제로 게시 된 솔루션이 없다면 훨씬 더 작고 상세하지는 않지만 매우 유사한 것을 수행했을 것입니다 (블록을 ​​형성하기 위해 수렴하는 글라이더). 어떻게했는지 물어봐도 될까요? 프로그램으로 생성했거나 수동으로 위치를 계산 했습니까?
— vsz

1
@vsz 패턴은 작은 파이썬 스크립트에서 생성됩니다. 나는 일주일이 일부 사람들에게는 짧은 마감일이라고 생각한다. (그래서 아무도 시도하지 않은 이유)
— 복사
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.