Blender is playing animation very slowly
It is hard to tell, but there are two likely issues.

Solution 1

You accidentally changed your frame rate in the Properties panel > Render tab > Dimensions drop down. Make sure the value is set to 30, or 24, or whatever it was at before.

 or 

Solution 2

Most likely, your animation got too complicated for your computer, and it started slowing it down. I notice that you are in Material view and have No Sync selected in the bottom-right of the Timeline panel. Material view is very intensive on a computer. The symptoms of No Sync include a Red FPS bar in the top-left of the 3D Viewport. You do have this; It reads "fps: 23.45," which is way slower than your 30 fps time that's been selected. To fix this, change No Sync to Frame Dropping.



...changed to...



Hold up!

It does occur to me that now you might think, "I should always use Frame Dropping!" No. I am now going to explain the place to use each.

No Sync

This should be used before you render an animation to make sure that each frame looks right. No Sync will ignore the set FPS if it has to to show each and every frame.

Frame Dropping

If you want to see an accurate representation of how events will flow in your animation (time) this is the way to go. Note that Frame Dropping does exactly that: It drops frames. It drops frames in order to have your animation's time flow correctly, but you will miss some frames, and therefore, any events that only happen spontaneously (like the initial fireball of an explosion) could be missed. You should probably keep this on until it's time to use No Sync as notated above.