JSFiddle - React, Tailwind, and code Playground
HTML
<pre><code id="o">
</code></pre>
JavaScript
s=Array(19).join(' ');n='\n';z=Array(9).join('|'+s+'|'+n).split(n,8);x=y=0;a=b=1;t='+'+s.replace(/ /g,'-')+'+';setInterval(function(){u=z[y];z[y]=u.replace(eval('/( {'+x+'}) /'),'$1*');$('#o').text(t+n+z.join('\n')+n+t);z[y]=u;x+=a;y+=b;if(!x|x==17)a=-a;if(!y|y==7)b=-b},100)
/*
//ungolfed
s=Array(19).join(' ');n='\n';
z=Array(9).join('|'+s+'|'+n).split(n,8);
x=y=0;a=b=1;
t='+'+s.replace(/ /g,'-')+'+';
setInterval(function(){
u=z[y];
z[y]=u.replace(eval('/( {'+x+'}) /'),'$1*');
$('#o').text(t+n+z.join('\n')+n+t);
z[y]=u;
x+=a;y+=b;if(!x|x==17)a=-a;if(!y|y==7)b=-b;
},100);
*/