ゴルフアドベントカレンダー

多くの人がアドベントカレンダーを手に入れているのは、その時です!アドベントカレンダーに慣れていない場合、これらはクリスマスを予期して出現をカウントするために使用される特別なカレンダーです。私の経験では、ドアはランダムに配置されていて、子供のような楽しみの一部は、明日のドアがどこにあるのかを考え出していました!今日では、カレンダーにはそれぞれのドアの後ろにチョコレートが付きますが、今年はアドベントカレンダーを購入する代わりに、ASCIIコードを作成する必要があります。

仕事

024 の範囲に整数( n
)を入力すると、数字のついたドアを > n を開きます。 2
17812
5226
11 > 310
1523 18
4
13919
2114

ドア

閉鎖されたドアは、

.-----------.
|           |
|           |
|           |
|       nn  |
|___________|

ここで n
はドアの番号を表します(先行ゼロはオプションです)。開かれているドアは次のとおりです。

.-----------.
|          |
| |         |
| |         |
| |         |
| |_________|
 |

代わりにドア24を除いて、

.--------------------------.
|                          |
|                          |
|                          |
|                      24  |
|__________________________|
.--------------------------.
|                         |
| |                        |
| |                        |
| |                        |
| |________________________|
 |

These ドア are arranged within a frame of 37 lines of 79
characters, with two spaces between each column, and an empty line
between each row.

Opened ドア

When the ドア are opened you must display one of the (tenuously
Christmas related – apologies for my terrible art skills!) pictures
below within the door:

 . _ .    _'_        +       .^o     _(")_     _n_       $        .     
 }O/{    ) (^.^_   /~     (';')   (_ . _)    (")      |,|    __/ __  
 }/*{    ./v`v'  /~*~   {|+|/}  /:    >( o )<    | |    `.   .'  
 /***     oO8    /~*~~*    d-b    (_/ _)  (  o  )  ._|_|_.   /.^.   

 .^/.     ____   __.==,_    .*.     _   _    . . .   _______   _   _   
<->o<->   /_%_/|  --|XX|-    /.    (O X O)  .i_i_i.  _j_j_j_  ( `v' )  
 '/v`   |_|_| |   _|  |    |_-_|   /^    |-~~-~|   ||__|      /  
         |_|_|/   (____'   (.-o-.)   / /   |_____|  _|/$$|_     V     

   i       |~|     //'`     |=|    _{/ _{/   ,   *     ====     b     
 .'%'.     | |    //....   /      _/    +  . +   \|+-|   .'''.   
|^~~.~|     Y     ||()()|   |(%)|     /O      . ' .  \\+|  {*=*=*}  
_'._.'_    _|_    ||_[]_|   |___|   @__,/\  ~~~~~~~  \\\   '._.'   

    _    |  _  |  .W. .W.  .&%$+*.    O/       .;'   ..,.;..   ('v')    
  .'.'O  | ($) |  |*| |*|  */'"'&  [ ]|_.     .m_.   |\|//| //  \   
 /___   |  " o|  |*| |*|  $._./%  |_____)   C|  |    \|//   |   /|   
(_____)  | === |  'M' 'M'  '%&*+$'  ------'    |__|    _=|=_     Y Y    

   /     .==.    .-.     -._.-   __/__     ...       .-.   
._o_O_.  .--'  |  |   |/    .+.    _/_/    '*  `     //`);  
|///|  _____/  /|   |   ( W )   /_/_   |_/*_|   %%      
"""""""  `====='    '-'      `"`      /     [_____] //      

各画像は7文字の長さで、4本の線をカバーしているので、ウィンドウ内に収まります。あなたは上記のイメージのいずれかを自由に選択し、任意の順序で使用することができますが、イメージを繰り返すことはできません。
24日は、メッセージを追加する必要があります:

       ~       
   ~ MERRY ~   
 ~ CHRISTMAS! ~
     ~~~~~     

上記の写真のいずれかに沿って、テキストが画像の右か左かを選択できます。

Given input 0, output the calendar with no ドア
opened:

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        2  |  |       17  |  |        8  |  |       12  |  |        1  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        6  |  |       11  |  |       20  |  |        5  |  |       22  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        3  |  |       10  |  |       15  |  |       23  |  |        7  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .--------------------------.  .-----------.  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |       16  |  |        9  |  |                      24  |  |       18  |  |
|  |___________|  |___________|  |__________________________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        4  |  |       13  |  |       19  |  |       21  |  |       14  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|_____________________________________________________________________________|

入力 5 の場合は、次のような出力を行います。

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |   . _ .  |  |           |  |           |  |           |  |  __.==,_ |  |
|  | |  }O/{  |  |           |  |           |  |           |  | | --|XX|- |  |
|  | |  }/*{  |  |           |  |           |  |           |  | |  _|  |  |  |
|  | |  /***  |  |       17  |  |        8  |  |       12  |  | | (____'  |  |
|  | |_________|  |___________|  |___________|  |___________|  | |_________|  |
|   |                                                          |            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |  _{/ _{/ |  |           |  |
|  |           |  |           |  |           |  | |   _/   |  |           |  |
|  |           |  |           |  |           |  | |   /O   |  |           |  |
|  |        6  |  |       11  |  |       20  |  | | @__,/\ |  |       22  |  |
|  |___________|  |___________|  |___________|  | |_________|  |___________|  |
|                                                |                           |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |    _n_   |  |           |  |           |  |           |  |           |  |
|  | |   (")   |  |           |  |           |  |           |  |           |  |
|  | | >( o )< |  |           |  |           |  |           |  |           |  |
|  | | (  o  ) |  |       10  |  |       15  |  |       23  |  |        7  |  |
|  | |_________|  |___________|  |___________|  |___________|  |___________|  |
|   |                                                                        |
|  .-----------.  .-----------.  .--------------------------.  .-----------.  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |       16  |  |        9  |  |                      24  |  |       18  |  |
|  |___________|  |___________|  |__________________________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |     +    |  |           |  |           |  |           |  |           |  |
|  | |   /~   |  |           |  |           |  |           |  |           |  |
|  | |  /~*~  |  |           |  |           |  |           |  |           |  |
|  | | /~*~~* |  |       13  |  |       19  |  |       21  |  |       14  |  |
|  | |_________|  |___________|  |___________|  |___________|  |___________|  |
|   |                                                                        |
|_____________________________________________________________________________|

入力 14 の場合:

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |   . _ .  |  |           |  |     .    |  |    ____  |  |  __.==,_ |  |
|  | |  }O/{  |  |           |  | | __/ __ |  | |  /_%_/| |  | | --|XX|- |  |
|  | |  }/*{  |  |           |  | | `.   .' |  | | |_|_| | |  | |  _|  |  |  |
|  | |  /***  |  |       17  |  | |  /.^.  |  | | |_|_|/  |  | | (____'  |  |
|  | |_________|  |___________|  | |_________|  | |_________|  | |_________|  |
|   |                            |             |             |            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |      _   |  |     $    |  |           |  |  _{/ _{/ |  |           |  |
|  | |   .'.'O |  | |   |,|   |  |           |  | |   _/   |  |           |  |
|  | |  /___  |  | |   | |   |  |           |  | |   /O   |  |           |  |
|  | | (_____) |  | | ._|_|_. |  |       20  |  | | @__,/\ |  |       22  |  |
|  | |_________|  | |_________|  |___________|  | |_________|  |___________|  |
|   |             |                            |                           |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |    _n_   |  |   _(")_  |  |           |  |           |  |    |=|   |  |
|  | |   (")   |  | | (_ . _) |  |           |  |           |  | |  /   |  |
|  | | >( o )< |  | | /:   |  |           |  |           |  | |  |(%)|  |  |
|  | | (  o  ) |  | | (_/ _) |  |       15  |  |       23  |  | |  |___|  |  |
|  | |_________|  | |_________|  |___________|  |___________|  | |_________|  |
|   |             |                                           |            |
|  .-----------.  .-----------.  .--------------------------.  .-----------.  |
|  |           |  |    ==== |  |                          |  |           |  |
|  |           |  | | \|--| |  |                          |  |           |  |
|  |           |  | | \\-| |  |                          |  |           |  |
|  |       16  |  | | \\\ |  |                      24  |  |       18  |  |
|  |___________|  | |_________|  |__________________________|  |___________|  |
|                  |                                                         |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |     +    |  |    ,  *  |  |           |  |           |  |     i    |  |
|  | |   /~   |  | | +  .  + |  |           |  |           |  | |  .'%'.  |  |
|  | |  /~*~  |  | |  .  ' . |  |           |  |           |  | | |^~~.~| |  |
|  | | /~*~~* |  | | ~~~~~~~ |  |       19  |  |       21  |  | | _'._.'_ |  |
|  | |_________|  | |_________|  |___________|  |___________|  | |_________|  |
|   |             |                                           |            |
|_____________________________________________________________________________|

入力 24 の場合:

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |   . _ .  |  |   //''  |  |     .    |  |    ____  |  |  __.==,_ |  |
|  | |  }O/{  |  | | //.... |  | | __/ __ |  | |  /_%_/| |  | | --|XX|- |  |
|  | |  }/*{  |  | | ||()()| |  | | `.   .' |  | | |_|_| | |  | |  _|  |  |  |
|  | |  /***  |  | | ||_[]_| |  | |  /.^.  |  | | |_|_|/  |  | | (____'  |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   |             |             |             |             |            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |      _   |  |     $    |  |    |~|   |  |  _{/ _{/ |  |   . . .  |  |
|  | |   .'.'O |  | |   |,|   |  | |   | |   |  | |   _/   |  | | .i_i_i. |  |
|  | |  /___  |  | |   | |   |  | |    Y    |  | |   /O   |  | | |-~~-~| |  |
|  | | (_____) |  | | ._|_|_. |  | |   _|_   |  | | @__,/\ |  | | |_____| |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   |             |             |             |             |            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |    _n_   |  |   _(")_  |  |  |  _  | |  |  .W. .W. |  |    |=|   |  |
|  | |   (")   |  | | (_ . _) |  | | | ($) | |  | | |*| |*| |  | |  /   |  |
|  | | >( o )< |  | | /:   |  | | |  " o| |  | | |*| |*| |  | |  |(%)|  |  |
|  | | (  o  ) |  | | (_/ _) |  | | | === | |  | | 'M' 'M' |  | |  |___|  |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   |             |             |             |             |            |
|  .-----------.  .-----------.  .--------------------------   .-----------.  |
|  |   _   _  |  |    ==== |  |  .&%$+*.       ~        |  |    O/   |  |
|  | | (O X O) |  | | \|--| |  | | */'"'&   ~ MERRY ~    |  | | [ ]|_.  |  |
|  | | /^   |  | | \\-| |  | | $._./% ~ CHRISTMAS! ~ |  | | |_____) |  |
|  | |  / /  |  | | \\\ |  | | '%&*+$'     ~~~~~      |  | | ------' |  |
|  | |_________|  | |_________|  | |________________________|  | |_________|  |
|   |             |             |                            |            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |     +    |  |   ,   *  |  |     |    |  |    .*.   |  |     i    |  |
|  | |   /~   |  | | +  . +  |  | |  .'''.  |  | |   /.   |  | |  .'%'.  |  |
|  | |  /~*~  |  | |   . ' . |  | | {*=*=*} |  | |  |_-_|  |  | | |^~~.~| |  |
|  | | /~*~~* |  | | ~~~~~~~ |  | |  '._.'  |  | | (.-o-.) |  | | _'._.'_ |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   |             |             |             |             |            |
|_____________________________________________________________________________|

ルール

This is
so the shortest code in bytes, in each language, wins.

  • 一貫性があると仮定して、I/Oに合理的な形式を使用できます。
  • カレンダーの前と後の任意の量の空白と、各行の末尾にスペースや印刷不可能な文字を追加することはできますが、
  • すべての標準の抜け穴は禁止されています。

ありがとう


James Holderness
for contributing ASCII images!

ベストアンサー

Charcoal, 666 bytes

J⁶³¦³⁰←×⁷⁷_↑³⁶.→⁷⁷↓.↓³⁶↖J±⁷±⁴”}➙◧﹪ε⎆T⎆¿⊘W?⁸ω⁷{↙n,θ2Σ¿⟧u←@6nh¹⮌↧,‴¹f↧M⁵|Dυχ¶3⊘>γQ·UB×NO³{Lκ3¤³ν⊕φβ.¤+xl⁷MΠ⦄η+L➙⁺[Dσ◧;≔e=F⊘ξρHλκL`S"d|N℅⊗0§χ~vH⍘À§⊕g↖[email protected]Π]R¦⎆πEx⁶⪪~;⸿j}⊗⊙↷A‹›N·?CX[´m'Jχ0`-⪫νd⪫⎆/M⍘ζG&G⟲F¿G⍘×.#ςςm≧ω²Eⅉmv`⊞ω9Þ·'ZNN→J&γQ«T~_J6◨z⪫OBg¤upε↷~⁵T«P{Zr»λ≔u⧴⁰ⅈ|≕q⊕≔χz⮌…@MυA➙⭆/TLF}¤N*N⁰⁶↖¬∕κE>α;|W"h↙⊘⁹}Σ1⁰g⮌FRü0AÀ⊗"⁸$”F⁵F⁵«J×¹⁵ι×⁷κ←×¹¹_↑⁵.¹¹↓.↓⁵»F²³«J×¹⁵I§”o⊞O↧▷⁰$ê;”¦ι×⁷I§”o⊞-Y~Fι,]”¦ι¿‹ιIθ«Mχ←↓ →↑⁵← »«↖UO±⁷±⁴ ←←⮌I⊕ι»»J³⁴¦¹⁷↓  H ←____↗↑ ~  ⁴¿‹²³Iθ«J²⁰¦¹⁷↘¹↓⁵↖↑ »«J⁴⁴¦²⁰UO±²²±⁴ ← 42

Try it
online!
Link is to verbose version of code. Not really golfed,
but I’m not sure I want to…

J²⁵¦³⁰←×_³⁸↑³⁶.→³⁸‖OF²⁴«J×I§”o⊞∧№qGo⁴↨'”¦ι¹⁵×I§”o⊞Þ‹wα≕YQ”¦ι⁷≔⎇⁼²³ι²⁶⊕χη←×_η↑⁵.η↓.↓⁵↑¿‹ιIθ«Mη← ¶↑⁵← M⁴→…⪪✂”}⊞μ↓↙J∧W⎚2⁻⁹]jι|T◨%êⅈπ↔{Mⅈ⎇_u9⁹F⪫4AGhd⪫CNb↷a^AnQ⌀oV←×⟦c″⁵FιO↗ωsXςb⁶β|(α)ⅈ,gB№$¹ξU=◨↷…Yn´;⎆Σd$=1%▷≦″“}υ⌈ν§V?Wξ⌈‖⦃⊗↓⎚K⎚✳V✳V?↗⎆¶﹪⊙⟦≧*(▶″$Q;⟲↶A⊗s≧»Πj⁸⎆↑´T≡⁵K⊙αηI3⊙✂“↗⌕N~e%⬤Iη◨γ·y⁸_Gλ↙%EO)⎆$YP“¦7ê⁵№¹▷⟦α)ν&℅◨⦄S“⁹aEX>➙8)↨§+φ✳⁸WR&;⎚◧⎆¬▶B³u▷J±÷δ+⁺↖M≧;↧χw➙Oθ✂⁺⁶r⟦GεCVY↖<��������������������������������������������������������������������������������������������������������

��it
online!
Link is to verbose version of code. This is a version
that draws the presents separately for 577 541 530
bytes after I’ve stolen several ideas from @Charlie to golf a few
more bytes off.

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です