최근 140 바이트 의 테트리스 구현에 대한 웹 사이트 프로그래밍 에 대한 몇 가지 소문이 있었습니다. ...
비록 작지만 Tetris의 단순화 된 버전이며 완전한 구현조차도 아닙니다. 핵심 논리 함수 만 140 바이트의 Javascript에 맞습니다. 실제로 실행하려면 ~ 840 자 이상의 HTML이 필요합니다.
우리는 더 잘할 수 있습니다!
이 과제는 가능한 한 적은 수의 트윗으로 "Binary Tetris"의 전체 버전을 구현하는 것입니다.
이진 테트리스 규칙 :
- 프로그램은 최소 5 개의 열과 6 개의 행의 셀이 포함 된 경기장을 표시해야합니다.
- 필드의 블록 및 가장자리가 명확하게 표시되는 한, 임의의 디스플레이 방법이 사용될 수있다.
- 적어도 두 가지 유형의 블록이 있어야합니다 :
#
및##
.###
L과 같은 블록 또는 앵글 블록 과 같은 추가 블록 지원 은 나에게 호의를 표할 것입니다. - 새로운 행이 맨 위 행의 필드에 추가되고 하나의 블록 셀이 가운데 열을 차지해야합니다.
- 블록은 고정 된 속도로 맨 아래 줄을 향해 내려갑니다. 사용자 입력 없이도 블록이 내려 와야합니다.
- 블록이 필드의 하단이나 아래쪽 블록에 닿으면 떨어지지 않고 제자리에 고정됩니다. 새로운 블록이 추가됩니다.
- 행의 모든 열이 블록으로 채워지면 행이 비워지고 위의 모든 고정 블록이 한 행 아래로 내려갑니다.
- 프로그램은 키 누르기에 응답해야합니다. 다음 기능을 수행하는 3 개의 고유 키가 있어야합니다.
- 현재 블록을 1 열 왼쪽으로 이동
- 현재 블록을 오른쪽으로 1 열 이동
- 현재 블록을 1 행 아래로 이동
- 각 트윗에는 140 자만 사용할 수 있습니다. 트윗에 넣을 수있는 멀티 바이트 문자 사용이 허용됩니다.
트윗에있을 수있는 규칙은 간단합니다. 당신이 그것을 트윗 할 수 있다면 당신은 그것을 사용할 수 있습니다.
해석 된 언어는 동일한 규칙을 따릅니다. 각 섹션은 사양을 따라야합니다. 런타임 오류가 발생하지 않고 나머지는 사양에 따라 유효한 한 귀하의 답변은 유효한 골프 규칙입니다.
원래 구현은 "트위터 가능"하기 때문에이 과제는 동일합니다. 출품작은 일련의 트윗 (140 자 이하)으로 전송 될 수 있어야합니다.첫 번째 트윗에는 컴파일러 / 인터프리터 이름, 프로그램 이름 및 명령 줄 인수가 포함되어야합니다.
- "P0"파일로 저장됩니다
- 다음 N 트윗은 프로그램을 일련의 라인으로 포함해야합니다.
- 각 트윗은 이름이 T <n> 인 파일에 저장되며, 여기서 n은 1입니다.
- 각 줄은 이전 줄에 추가되고 컴파일되거나 해석됩니다. 유효한 오브젝트 파일 또는 프로그램을 생성해야합니다.
- 마지막 줄이 추가 될 때까지 프로그램이 작동하지 않아도됩니다.
프로그램은 다음과 같은 방식으로 실행됩니다 (의사 bash).
interp,prog,args = split P0 /\s/ touch $prog for file in ./T* do cat $prog file > $prog $interp $prog $args die("FAIL") if $? #detect error done
인터프리터는 테트리스를 아직 구현하지 않은 일반적으로 사용 가능한 실행 가능 프로그램이어야합니다.
채점 :
P0을 포함한 가장 작은 트윗. 가장 많은 수의 스페어 문자 (140 * num tweets-총 문자 수)로 묶인 넥타이.
예제 항목
chrome a.htm
<html><div id="output"></div></html>
<script>cool java script here</script>
점수 = 3 (334 스페어)
cc a.c ;a.out
main(){/*cool prog here*/}
점수 = 2 (241 예비)
tetris
합법적이라면 점수 = 1 (예비 134) , 그렇지 않은 경우
특별한 감사
Ashelly의 동의를 얻어 여기 에 게시 할 수있었습니다.