Alfabet bendera kode Sinyal Internasional digunakan oleh kapal untuk komunikasi, terutama untuk sinyal statis.
Tantangan Anda adalah menulis program atau fungsi yang akan mengambil string dari STDIN atau sebagai argumen, dan menampilkan teks yang sesuai dalam alfabet bendera ICS. Jika bahasa Anda tidak ditampilkan di layar, menyimpan ke file dapat diterima.
Program atau fungsi Anda harus mendukung huruf AZ dalam huruf besar dan kecil, ditambah Space dan Newline . Perilaku dengan karakter lain tidak ditentukan.
Layar harus cukup besar untuk menampilkan mampu menampilkan setidaknya 8 bendera secara horizontal dan 6 bendera secara vertikal. Perilaku tidak terdefinisi jika tepi kanan tercapai sebelum baris baru diterima, atau jika pesan terlalu panjang untuk masuk ke tampilan secara vertikal.
Alfabet bendera adalah seperti yang ditunjukkan di bawah ini (huruf Romawi hanya untuk referensi, mereka tidak diperlukan dalam output.)
Ukuran
Tidak ada standar yang disepakati secara universal untuk dimensi bendera-bendera ini, jadi untuk tujuan tantangan ini yang berikut akan berlaku:
Bendera harus berukuran 60x60 piksel, dengan jarak 30 piksel di antaranya secara horizontal dan vertikal.
Potongan swallowtail pada A dan B harus sedalam 15 piksel.
Semua garis lainnya harus horisontal, vertikal, atau pada 45 derajat.
Fitur harus ditempatkan dengan membagi bendera menjadi kisi NxN sisi sisi 3,4,5 atau 6 kotak imajiner. Lihat gambar di atas, tetapi untuk klarifikasi lebih lanjut:
A, E, H, K, L dan U didasarkan pada kisi 2x2: lebar setiap zona warna harus 30 piksel. Juga titik-titik berlian di F harus setengah di sepanjang setiap sisi bendera.
J dan T didasarkan pada kisi 3x3: setiap pita harus 20 piksel.
P, N, dan S didasarkan pada kisi 4x4. Juga garis diagonal Y akan membagi tepi bendera menjadi 4.
C, D, R dan X harus didasarkan pada kisi 5x5. Pita dan lengan persilangan harus memiliki lebar 12 piksel.
G, W, M, V didasarkan pada kisi 6x6. Pita G dan batas W harus lebarnya 10 piksel. Lengan persilangan pada M dan V harus mencakup 10 piksel pertama dan terakhir dari setiap tepi bendera, meninggalkan zona segitiga berukuran 40 piksel di sepanjang tepi yang panjang.
Lingkaran I akan berada di tengah bendera dan memiliki diameter 30 piksel.
Kesalahan +/- 1 piksel dari teks di atas diizinkan. Jika bahasa Anda hanya mendukung grafik yang dapat diukur, Anda dapat mengartikan "piksel" berarti "satuan."
Warna
Warna harus merah, putih, biru, kuning dan hitam seperti yang didefinisikan oleh bahasa Anda atau dokumentasinya. Jika bahasa Anda tidak mendefinisikan warna, Anda dapat menggunakan yang berikut: Merah FF0000, FFFFFF Putih, Biru 0000FF, FFFF00 Kuning, Hitam 0000000.
Latar belakang harus berwarna abu-abu (r, g dan b saluran sama, antara intensitas 25% dan 75%.)
Penilaian / Celah
Ini adalah codegolf. Kode terpendek dalam byte menang.
Celah standar tidak diijinkan.
Tidak ada fungsi builtin atau library untuk menampilkan flag yang dapat digunakan. Keluaran harus non-teks (dan khususnya, karakter unicode tidak akan digunakan untuk membangun bentuk bendera.)
Contoh
JFK got
my VHS
PC
and XLR
web quiz
harus menghasilkan yang berikut ini