国際信号旗のアルファベット は、船舶、特に静的信号の通信に使用されます。
あなたの課題は、STDINからまたは引数として文字列を取得し、ICSフラグアルファベットで対応するテキストを表示するプログラムまたは関数を作成することです。言語が画面に表示されない場合は、ファイルに保存しても問題ありません。
あなたのプログラムや関数は、文字をサポートするものAZ大文字と小文字で、プラススペースや改行を。他の文字との動作は未定義です。
ディスプレイは、少なくとも水平方向に8フラグ、垂直方向に6フラグを表示 できる大きさでなければなりません。改行を受信する前に右端に到達した場合、またはメッセージが長すぎてディスプレイに垂直に収まらない場合の動作は未定義です。
フラグのアルファベットは以下のとおりです(ローマ字は参照用であり、出力には必要ありません)。
寸法
これらのフラグの寸法については、普遍的に合意された標準はないため、この課題の目的のために以下が適用されます。
フラグは60x60ピクセルで、水平方向と垂直方向の両方に30ピクセルのギャップがあります。
AとBのアゲハチョウは、深さ15ピクセルでなければなりません。
他のすべての線は、水平、垂直、または45度でなければなりません。
特徴は、旗を辺3、4、5または6の仮想NxNグリッドに分割することにより配置されます。上記の画像を参照してください。ただし、さらに明確にするために:
A、E、H、K、L、およびUは2x2グリッドに基づいています。各カラーゾーンの幅は30ピクセルです。また、Fのダイアモンドのポイントは、旗の両側に沿って中間になければならない。
JとTは3x3グリッドに基づいています。各バンドは20ピクセルです。
P、N、およびSは4x4グリッドに基づいています。また、Yの対角線は、フラグのエッジを4に分割します。
C、D、R、およびXは、5x5グリッドに基づきます。十字の帯と腕の幅は12ピクセルでなければなりません。
G、W、M、Vは6x6グリッドに基づいています。GのバンドとWのボーダーは幅10ピクセルでなければなりません。MとVの十字の腕は、旗の各端の最初と最後の10ピクセルをカバーし、長い端に沿って40ピクセルの三角形ゾーンを残します。
Iの円は旗の中心にあり、直径は30ピクセルです。
上記のテキストからの+/- 1ピクセルのエラーは許可されます。ご使用の言語がスケーラブルなグラフィックスのみをサポートしている場合、「ピクセル」を「ユニット」を意味すると解釈できます。
色
色は、言語またはそのドキュメントで定義されているように、赤、白、青、黄、黒でなければなりません。言語で色が定義されていない場合は、赤FF0000、白FFFFFF、青0000FF、黄FFFF00、黒0000000を使用できます。
背景は灰色でなければなりません(r、g、bチャンネルは等しく、強度は25%から75%です)。
得点/ループホール
これはcodegolfです。バイト単位の最短コードが優先されます。
標準の抜け穴は許可されていません。
フラグを表示するための組み込み関数またはライブラリ関数は使用できません。出力は非テキストである必要があります(特に、ユニコード文字はフラグの形状を構築するために使用されません)。
例
JFK got
my VHS
PC
and XLR
web quiz
以下を生成する必要があります