このようなASCIIアートの文字列が与えられた場合(これはASCIIアートではありませんが、例で行います):
abc
d e
fgh
次のように、1行に1文字ずつ画面上に表示されているかのように混ぜます。
a
b
c
d
e
f
g
h
結果を印刷し、1秒、±0.5秒待ってから端末をクリアし、同じことを印刷しますが、1行ではなく2文字を表示します。基本的に、ディスプレイの幅は1から2に変わります。
ab
c
d
e
fg
h
の後のスペースに注意してくださいd。待機を繰り返し、入力されたテキストが出力されるまで、行ごとに追加の文字で印刷します。
文字を印刷しようとしたときに行の最後にヒットした場合、改行を挿入し、このルールに従って残りの行を印刷します。たとえば、入力:
abcdefg
ab
ディスプレイの長さが4の場合、次を印刷します。
abcd
efg
ab
端末のサイズ変更の効果は、https://repl.it/GoeU/1で確認できます。プログラムを実行し、ターミナルをテキストエディターから分離するものを前後にドラッグします。
明確化:
行が入力されたとおりに表示されたら、その行をそのままにしておき、将来の行ごとの文字数を増やします。
abc
ab
印刷する必要があります
ab
c
ab
文の長さ= 2の場合
これはcode-golfなので、最小バイト数が勝ちです!
ルール:
- 唯一の出力としてSTDOUTに出力する必要があります。
- 端末をクリアするか、150行程度の空の行を追加して端末をクリアするような錯覚を作成する必要があります。
- 標準的な方法で入力を取得できます。
- デフォルトの抜け穴が適用されます。
- テキストの末尾のものは大丈夫ではありません。
このアイデアは、ASCIIアートのある端末のサイズを変更するときに思いつきました。面白そうだったので、そこから挑戦することにしました。
テストケース:
各テストケースの各ステップを個別に表示するのは非常に手間がかかるため、各回答を確認して有効であることを確認します。答えがテストケースを処理できることを確認してください。
______ ______ __ __ __ ______ __ __ ______
/\ == \ /\ == \ /\ \ /\ "-.\ \ /\__ _\ /\ "-./ \ /\ ___\
\ \ _-/ \ \ __< \ \ \ \ \ \-. \ \/_/\ \/ \ \ \-./\ \ \ \ __\
\ \_\ \ \_\ \_\ \ \_\ \ \_\\"\_\ \ \_\ \ \_\ \ \_\ \ \_____\
\/_/ \/_/ /_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_____/
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__