Pastikan untuk melihat tantangan lain, peta karakter Reverse ASCII !
Charset ASCII (Kode Standar Amerika untuk Pertukaran Informasi) adalah standar pengkodean karakter yang paling banyak digunakan. Kode ASCII mewakili teks dalam komputer, peralatan telekomunikasi, dan perangkat lainnya.
Tantangan
Tantangan Anda adalah mencetak pemetaan karakter ASCII yang ditetapkan oleh pengguna. GIF:
Setelah pengguna memasukkan setiap karakter ASCII, hasilnya akan terlihat seperti ini:
Pemetaan
Setiap karakter memiliki posisi yang ditetapkan pada kisi logis 16x6, dimulai dengan karakter spasi di posisi kiri atas, dan membungkus sedemikian rupa sehingga angka 0 muncul di bawahnya.
Ketika input ASCII yang dapat dicetak diterima, cetak karakter ASCII itu di lokasi layar yang ditetapkan tanpa menghapus karakter apa pun yang ada di layar.
Aturan
- Program Anda hanya perlu memetakan karakter ASCII yang dapat dicetak,
0x20
untuk0x7E
. - Program Anda tidak boleh berhenti dan terus memetakan karakter ke layar sampai semua karakter ASCII yang dapat dicetak dimasukkan. Dari sini, program Anda bisa berakhir atau lari ke Neverland.
- Program Anda dapat memetakan karakter dengan cara apa pun yang Anda suka, misalnya ke spreadsheet, tabel, jendela konsol, atau jendela grafis.
- Tidak peduli bagaimana Anda menampilkan pemetaan, itu harus diperbarui dalam waktu nyata (segera setelah menerima input pengguna).
- Jika program Anda tidak membaca input secara diam-diam, ia harus mengeluarkan kursor, sehingga teks tidak akan menghalangi peta.
Membantu
Berikut adalah algoritma pseudocode yang saya gunakan untuk menghasilkan GIF:
loop forever
c = input
y_coord = c / 16
x_coord = c - y * 16
if c is printable
print c at (x_coord * 2 + 1, y_coord + 1)
end if
end loop
Mungkin ada cara lain untuk mencapai output yang dibutuhkan. Anda dapat memilih untuk menggunakan algoritme saya atau algoritme Anda, tetapi hasilnya harus tetap sama.
Inilah referensi tabel ASCII yang berguna.
Mencetak gol
Jawaban dengan byte terkecil di setiap bahasa menang. Selamat bersenang-senang!