JSFiddle - React, Tailwind, and code Playground
JavaScript
// stdin shim
var i = 0,
prompt = function(){
return '\
1\n\
X \n\
X \n\
X \n\
X XX XXXXXX X X X \n\
X XX XXXXXX X X X \n\
XXX X XX XXXXXX X X X \n\
XXX X XX XXXXXX X X X '.split('\n')[i++];
};
// code:
for(c=p=+(P=prompt)(d='.');l=P();)console.log(p=l.replace(/ /g,function(a,b){return p[b]==d|p[b+=c]==d|l[b]=='X'?d:a}))