소개
Befunge가 정확히 무엇인지 궁금해하는 사람들 에게는 1993 년 Chris Pressy가 만든 2 차원 스택 기반 언어입니다. 나는 Befunge-93 에서 풀어야 할 7 개의 두뇌 티저 를 만들었습니다 . 이것은 상당히 실험적인 도전이지만, 나는 그것이 가치가 있다고 생각했습니다. :). Befunge-93에 사용 된 모든 명령의 전체 목록은 여기 에서 찾을 수 있습니다 .
게임 방법?
임무는 경찰이없는 경찰과 강도와 비슷합니다. 기본적으로 포인트를 얻기 위해 제출물을 크래킹하는 것입니다. 모든 퍼즐에는 물음표가 포함되어 있습니다. 32 - 127
공백을 포함 하여 범위 내의 인쇄 가능한 ASCII 문자로 교체해야합니다 . 다음 예를 참조하십시오.
??????@
출력은이어야합니다 hi
. 약간의 수수께끼 후, 우리는 해결책이 다음과 같은 것을 알 수 있습니다.
"ih",,@
그러나! 당신 은 해결책을 주지 않습니다 . 그것은 부정 행위를 방지하기위한 것입니다. 당신은 솔루션을 게시하지 않지만 hash . 해시는 다음 스 니펫으로 생성됩니다.
String.prototype.hashCode = function() { var namevalue = document.getElementById("inputname").value; var namenumber = 123;for (var character = 0; character < namevalue.length; character++) {namenumber += namevalue.substring(0, 1).charCodeAt(0);}var hash = 123 + namenumber, i, chr, len;if (this.length === 0) {return 0;}for (i = 0, len = this.length; i < len; i++) {chr = this.charCodeAt(i);hash = ((hash << 5) - hash) + chr; hash |= 0; }hash = Math.abs(hash);if ((hash).toString(16).length < 20) {for (var rand = 123; rand < 199; rand++) {hash = hash * rand;if ((hash).toString(16).length >= 20) { break; }}}return (hash).toString(16).substring(2, 12);};function placeHash() { var pretext = document.getElementById("inputhash").value; var resultinghash = pretext.hashCode(); document.getElementById("resulthash").innerHTML = 'Your hash: <span class="hashtext">' + resultinghash + "</span>";}
p {font-family: monospace;color: black;} .hashtext{color: red;font-weight:bold}
<div class="container"><p>Personal hash generator:<p><textarea id="inputhash" placeholder="Your submission" cols="40" rows="4"></textarea><br><textarea id="inputname" placeholder="Your name" cols="40" rows="1"></textarea><br><button class="hashbutton" onclick="placeHash()">Generate Hash!</button><br><p id="resulthash">Your hash:</p></div><!-- Created by Adnan -->
스 니펫을 사용하는 방법?
- 먼저 솔루션을 제출 섹션에 붙여 넣습니다.
- 둘째, 사용자 이름을 입력하십시오.
- 셋째, Generate Hash! 개인 해시 를 얻습니다 .
- 해시를 복사하여 제출물에 붙여 넣습니다.
퍼즐
퍼즐 1 (점수 : 3)
??
??? ?
??????????
@
출력 (후행 공백 참고) :
1 2 3 4 5 6 7 8 9 10
퍼즐 2 (점수 : 3)
???? ?
??????????
?? ?
@
산출:
abcdefghijklmnopqrstuvwxyz
퍼즐 3 (점수 : 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
산출:
Hello World!
퍼즐 4 (점수 : 2)
??????@
출력 (후행 공백 참고) :
123
퍼즐 5 (점수 : 5)
?
?????
???@?????
??????
?????????
산출:
Befunge
퍼즐 6 (점수 : 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
산출:
###################################
Programming Puzzles and Code Golf
###################################
퍼즐 7 (점수 : 3)
???? ?????
???????
@???????
산출:
012345678910
- 이것은 코드 도전 입니다. 포인트가 가장 많은 사람이 이깁니다!
- 동점 인 경우, 모든 제출물을 먼저 제출 한 사람이 승리합니다.
- 제출 마지막 날 입니다 년 1 월 세계 협정시 01시 . 그 후에는 해시가 이미 포함 된 전체 솔루션을 게시하는 데 2 일이 걸립니다. 이것들은 검증 될 것입니다 :).
게시하는 방법?
다음 스 니펫을 사용하여 제출물을 게시하십시오.
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
순서대로 퍼즐을 풀 필요는 없습니다. 모든 프로그램은 여기 에서 테스트 되었습니다 되었으며 검증에 사용됩니다.
행운을 빕니다!
?
)?