Help! Here is my good friend Mr. Snowman:

\(.,.) < Hello!
 ( : )>

He is an amazing dancer, but he tends to get stage fright. He knows all the moves, but just needs someone to tell him which moves to do. Here are all of his moves:

Arms Up
 ( : )
Arms Down
<( : )>
Right Arm Up
 ( : )>
Left Arm Up
<( : )
Hand Stand
 (   )

It takes Mr. Snowman about a full second to get to the next move. So, keep that in mind when you are making the dance routine. He needs a program that will help him know which moves to do.


Mr. Snowman starts every performance with his arms down. Then he waits a second before taking in some form of an array with a list of the moves for Mr. Snowman to complete. This can be done in any format that suits your interface/language just make sure that you tell Mr. Snowman what each item corresponds to which move. Since Mr. Snowman will be on stage dancing, the fewer the bytes the better! Each time Mr. Snowman makes a move wait a full second until telling him what the next move will be. Also, at the end of the performance Mr. Snowman will sadly melt because frankly he is a snowman.

<empty line>


  • Start by displaying Mr. Snowman in the "Arms Down" move.
  • Take in an array (can be of any format) and indicate in the answer how each item in the array corresponds to which moves.
  • Each move takes a full second to transition to, including the melting transition. You do not have to be exactly one second, but try to get close.
  • At the end of the program display Mr. Snowman as a melted snowman. That is an empty line followed by a space and five underscores.
  • Each time a move is displayed clear the previous (or whatever looks like clearing) to make it look like Mr. Snowman is dancing.

This is ; may the shortest answer in bytes win!

  • \$\begingroup\$ Very closely related to that one. Since my vote is a hammer, I'm not going to vote unless there are others that agree. \$\endgroup\$ Jan 6, 2017 at 19:55
  • \$\begingroup\$ Thought it might be different enough from that challenge due to the input and that there are start and end conditions for what is displayed. But if you all think differently, I do not mind taking it down. \$\endgroup\$
    – tkellehe
    Jan 6, 2017 at 20:00
  • \$\begingroup\$ This challenge takes a list of moves as input whereas the bird challenge randomly generates moves. Imo this is a nontrivial difference but I don't want to see a large influx of "animate some ascii art" challenges. That all being said, this seems ok to me. \$\endgroup\$
    – Poke
    Jan 6, 2017 at 20:05
  • \$\begingroup\$ Since I am new, I do not see what is wrong with having "animate some ascii art" challenges that vary based off of that particular problem. Because you could say the same for "is n in this sequence" challenges which are all really the same, but based off of that problem changes the challenge. Is there something inherently wrong with these types of challenges? \$\endgroup\$
    – tkellehe
    Jan 6, 2017 at 20:17
  • 1
    \$\begingroup\$ @tkellehe: The basic problem is just that with these animated ASCII-art problems, techniques useful for solving one problem will likely solve all the rest too, so that once one problem's been posted, there's no real creativity in solving more along the same lines. That doesn't happen as much with sequence questions because code for generating one sequence, and for generating another sequence, tends to look fairly different. That said, although I'm inclined to call it a duplicate, I'm not sure, so I haven't voted either way. \$\endgroup\$
    – user62131
    Jan 6, 2017 at 20:55


Browse other questions tagged or ask your own question.