Dynamic[
Animate[
flame = Line[{{-100,-100},{100,-100},{100,100},{-100,100},{-100,-100}}];
th=3/4*Pi;
wall = Which[(t-c)/10<th,Rectangle[{-55,100},{-45,100}],
		((t-c)/10 ≥ th&&100-(t-c)+25>20),Rectangle[{-55,100-(t-c)+25},{-45,100}],
		100-(t-c)+25≤20,Rectangle[{-55,20},{-45,100}]
		];
pipe1= {Green,Rectangle[{-95,60},{-65,100}]};
pipe2= {Green,Rectangle[{65,-60},{95,-100}]};
switch={Rectangle[{97,-25},{100,-10}],
		Which[(t<c+1&&x2+5<90),{Red,Rectangle[{90,-22},{97,-13}]},
			(t<c+1&&x2+5≥90&&x2+5<95),{Red,Rectangle[{x2+5,-22},{97,-13}]},
			(t≥ c+1&&x2+5≥ 95),{Red,Rectangle[{95,-22},{97,-13}]}]
		};
					
door=Which[(t<c+5&&x3<90),{Thick,Line[{{-55,100},{-45,100}}]},
			(t≥ c+5&&(t-c)/10<th),{Thick,Line[{{-55,100},{-55+10*Cos[(t-c)/10],100-10Sin[(t-c)/10]}}]},
			(t-c)/10 ≥ th,{Thick,Line[{{-55-10/Sqrt[2],100-10/Sqrt[2]},{-55,100}}]}
			];
corster = {
		{Black,Rectangle[{-100,-100},{-10+75*Sqrt[3]/2,-25}]},
		{White,Disk[{-10,-25},75]}
		};
a= 20;b=131;c=171;d=280;e=307;f=437;
x1 = 70Cos[(t-a)/42+Pi] -10;
y1 = 70Sin[(t-a)/42+Pi]-25;
x2= (70Cos[(b-a)/42+Pi] -10)+t-b;
y2= (70Sin[(b-a)/42+Pi]-25)+1.033t-b-5;
x3= 100-5-(t-c);
y3=70Sin[(b-a)/42+Pi]-25+1.033t-b-5;
x4= 100-5-(t-c);
y4=100-5-1.033(t-d);
x5= -40+t-e;
y5=100-5-1.033(t-d);
ball = 	Which[t<a,Disk[{-80,-t-5},5],
			(t≥a&&t<b),Disk[{x1,y1},5],
			(t≥b&&t<c),Disk[{x2,y2},5],
			t≥ c&&t<d,Disk[{x3,y3},5],
			t≥ d&&t<e,Disk[{x4,y4},5],
			t≥ e&&t<f,Disk[{x5,y5},5]
			];
 Graphics[
	{corster,ball,door,switch,pipe1,pipe2,wall,flame},AspectRatio->1,  PlotRange->{{-100,100},{-100,100}}
	     ],{t,-100,490},AnimationRunning->False
	]
]