JSFiddle - React, Tailwind, and code Playground
CSS
body {
display: block;
unicode-bidi: embed;
font-family: monospace;
white-space: pre;
}
JavaScript
h=[...' 123\n5674\n9AB8\nDEFC'];y=0;onkeyup=e=>d(e.keyCode%5);d=q=>{if(q==6)for(i=1e4;i--;d(0|Math.random()*5));m=h[y],h[y]=h[f=h[w=y+[-5,,1,5,-1][q]]&&h[w]!='\n'?w:y],h[y=f]=m;document.body.innerHTML=h.join("")};d(6)