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=0;l=prompt(d='.');)c?console.log(p=l.replace(/ /g,function(a,b){return p[b]==d|p[b-=c]==d|l[b]=='X'?d:a})):c=+l