Giriş
Befunge'nin tam olarak ne olduğunu merak edenler için, 1993 yılında Chris Pressy tarafından yapılan iki boyutlu yığın tabanlı bir dildir. Befunge-93'te çözülmesi gereken 7 zeka oyunu yaptım . Bu oldukça deneysel bir meydan okuma, ama denemeye değer olduğunu düşündüm :). Befunge-93'te kullanılan tüm komutların tam bir listesini burada bulabilirsiniz .
Nasıl oynanır?
Görev biraz polis olmayan bir polis ve soyguncular gibidir. Sadece puan almak için başvuruları çatlamak. Her bulmaca soru işaretleri içerir. Bunlar, aralıkta 32 - 127
boşluk içeren herhangi bir yazdırılabilir ascii karakteri ile değiştirilmelidir . Aşağıdaki örneğe bakın:
??????@
Verilen çıktı olması gerekir hi
. Biraz kafa karıştırdıktan sonra, çözümün şu olduğunu öğrenebiliriz:
"ih",,@
Fakat! Sen yok çözümünü verir. Bu hile önlemek için. Çözümü göndermiyorsunuz , ama hash . Karma, aşağıdaki snippet ile oluşturulur:
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 -->
Parçacığı nasıl kullanılır?
- İlk olarak, çözümü gönderim bölümüne yapıştırın
- İkinci olarak, kullanıcı adınızı girin (başka hiçbir şey, bu aslında zaman sınırından sonra doğrulanacaktır)
- Üçüncü olarak, Hash Oluştur! kişisel karma elde etmek için .
- Karmayı kopyalayıp gönderiminize yapıştırın.
Bulmacalar
Puzzle 1 (Puan: 3)
??
??? ?
??????????
@
Çıktı (sondaki boşluklara dikkat edin):
1 2 3 4 5 6 7 8 9 10
Puzzle 2 (Puan: 3)
???? ?
??????????
?? ?
@
Çıktı:
abcdefghijklmnopqrstuvwxyz
Bulmaca 3 (Puan: 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
Çıktı:
Hello World!
Puzzle 4 (Puan: 2)
??????@
Çıktı (sondaki boşluklara dikkat edin):
123
Bulmaca 5 (Puan: 5)
?
?????
???@?????
??????
?????????
Çıktı:
Befunge
Bulmaca 6 (Puan: 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
Çıktı:
###################################
Programming Puzzles and Code Golf
###################################
Bulmaca 7 (Puan: 3)
???? ?????
???????
@???????
Çıktı:
012345678910
- Bu kod meydan okuma , en fazla puanı olan kişi kazanır!
- Beraberlik durumunda, önce tüm gönderimleri gönderen kişi kazanır.
- Sunulması için son gün olan 10 Ocak UTC . Bundan sonra, tam çözümü yayınlamak için 2 gününüz var ve karma zaten dahil. Bunlar doğrulanacaktır :).
Nasıl gönderilir?
Gönderinizi göndermek için aşağıdaki snippet'i kullanın:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
Bulmacaları sırayla çözmek gerekli değildir. Tüm programlar burada test edilmiştir ve doğrulama için kullanılacaktır.
İyi şanslar!
?
)?