pengantar
Bagi mereka yang bertanya-tanya apa sebenarnya Befunge , itu adalah bahasa berbasis dua dimensi yang dibuat pada tahun 1993 oleh Chris Pressy. Saya membuat 7 permainan asah otak yang perlu diselesaikan di Befunge-93 . Ini tantangan yang cukup eksperimental, tapi saya pikir ini layak dicoba :). Daftar lengkap semua perintah yang digunakan di Befunge-93 dapat ditemukan di sini .
Cara bermain?
Tugasnya agak seperti polisi dan perampok tanpa polisi. Itu hanya pada dasarnya retak pengiriman untuk mendapatkan poin. Setiap teka-teki berisi tanda tanya. Ini harus diganti oleh karakter ascii yang dapat dicetak dalam rentang 32 - 127
, yang termasuk spasi. Lihat contoh berikut:
??????@
Diberikan bahwa output harus hi
. Setelah beberapa kebingungan, kita dapat mengetahui bahwa solusinya adalah:
"ih",,@
Tapi! Anda tidak memberikan solusinya. Itu untuk pencegahan kecurangan. Anda tidak memposting solusinya, tetapi hash . Hash dihasilkan dengan potongan berikut:
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 -->
Bagaimana cara menggunakan snippet?
- Pertama, tempelkan solusi ke bagian pengiriman
- Kedua, masukkan nama pengguna Anda (tidak ada yang lain, ini benar-benar akan diverifikasi setelah batas waktu)
- Ketiga, tekan Hasilkan Hash! untuk mendapatkan hash pribadi Anda .
- Salin dan tempel hash ke dalam kiriman Anda.
Teka-teki
Puzzle 1 (Nilai: 3)
??
??? ?
??????????
@
Output (perhatikan spasi spasi tambahan):
1 2 3 4 5 6 7 8 9 10
Puzzle 2 (Nilai: 3)
???? ?
??????????
?? ?
@
Keluaran:
abcdefghijklmnopqrstuvwxyz
Puzzle 3 (Nilai: 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
Keluaran:
Hello World!
Puzzle 4 (Nilai: 2)
??????@
Output (perhatikan spasi spasi tambahan):
123
Puzzle 5 (Nilai: 5)
?
?????
???@?????
??????
?????????
Keluaran:
Befunge
Puzzle 6 (Nilai: 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
Keluaran:
###################################
Programming Puzzles and Code Golf
###################################
Puzzle 7 (Nilai: 3)
???? ?????
???????
@???????
Keluaran:
012345678910
- Ini adalah tantangan kode , orang dengan jumlah poin terbanyak menang!
- Dalam kasus seri, orang yang menyerahkan semua pengiriman terlebih dahulu, menang.
- Hari terakhir untuk pengiriman adalah 10 Januari UTC . Setelah itu, Anda memiliki 2 hari untuk memposting solusi lengkap, dengan hash sudah termasuk. Ini akan diverifikasi :).
Bagaimana cara mengirim?
Gunakan cuplikan berikut untuk mengirim kiriman Anda:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
Tidak perlu memecahkan teka-teki secara berurutan. Semua program telah diuji di sini dan akan digunakan untuk verifikasi.
Semoga berhasil!
?
spasi dengan spasi)?Jawaban:
7 solusi, 26 poin
Saya mengetik ini di ponsel saya, karena saya tidak memiliki akses ke komputer saya saat ini. Saya sebenarnya harus mengerjakan Puzzle 6 dengan pena & kertas.
Teka-teki 1 (Nilai 3 ):
4f52d5b243
Yang ini cukup lurus ke depan. Dapatkan
1
di tumpukan, lalu cetak-tambah-bandingkan-loop sampai11
dipukul.Teka-teki 2 (Nilai 3 ):
85226eba20
Pada dasarnya sama dengan yang sebelumnya, hanya dengan karakter bukan angka. Menggunakan rute IP yang berbeda.
Teka-teki 3 (Nilai 5 ):
1ff5bcb1d9
Di sini saya sedikit murah. Dorong string ke tumpukan dan cetak karakter secara manual, navigasikan melalui spasi. Saya punya banyak ruang ekstra, jadi saya baru saja meninggalkan sebagian besar tanda tanya. Perhatikan spasi tambahan pada baris 6 hingga 8, saya tidak menghapusnya saat menghitung hash.
Teka-teki 4 (Nilai 2 ):
f8b7bdf741
Sangat sederhana, dapatkan karakter dengan kode yang benar dan cetak sebagai angka, dengan dua ruang kosong.
Teka-teki 5 (Nilai 5 ):
c4db4b6af9
Ini menyenangkan untuk diperbaiki. Mungkin tidak bekerja dengan benar pada beberapa penerjemah karena membungkus string & lompatan, bekerja pada yang terhubung. Pada dasarnya, kode mendorong string output dan kemudian memasuki lingkaran pencetakan standar, membungkus sisi.
Teka-teki 6 (Nilai 5 ):
356e912eec
Sekarang ini adalah "mahakarya". Saya benar-benar mengambil selembar kertas dan meluangkan waktu untuk ini. (Sebenarnya, saya melakukan beberapa pekerjaan tambahan dengan melewatkan spasi di string ketika menyalin.) Perhatikan spasi tambahan pada baris 4, saya tidak menghapusnya saat menghitung hash.
Kode ini bekerja dengan terlebih dahulu mendorong satu untuk masuk ke loop utama. Lingkaran menggunakan
#
baris kedua sebagai penghitung, dan keduanya mencetak dan mendorong#
setiap iterasi. Setelah itu baris baru dicetak dan didorong. Selanjutnya, string yang diberikan didorong. Akhirnya, kode memasuki lingkaran pencetakan, yang mencetak semuanya pada tumpukan secara terbalik, yang berarti string, kemudian baris baru, dan akhirnya sisanya#
.Teka-teki 7 (Skor 3 ):
0881fc2619
Ini hampir sama dengan Puzzle 2, tetapi dengan rute yang berbeda, karakter keluaran yang berbeda, tambahan
01
pada akhirnya dan bungkus cepat untuk menyelesaikannya.sumber
4 solusi, 15 poin
Saya harap saya tidak mengacaukan spasi putih di mana pun saat menghasilkan hash.
Teka-teki 1 (Nilai 3 ):
de1de4c4c8
Teka-teki 3 (Nilai 5 ):
071cad0879
Teka-teki 4 (Nilai 2 ):
531940bc43
Teka-teki 5 (Nilai 5 ):
5bafaed8e9
sumber