(Seq(" -+")/:"\x08\x10\x18 ")((z,c)=>(z:+" "*c+Seq("|-+","+- winner!")(c/32))++z.reverseMap(s=>s+(" "*(2+c-s.size)+"|")*(1-c/32)))map(s=>println("%12s".format(if(s<" -")""else readLine)+s.replace("-","-"*7)))
Note that non-ascii characters in the above source code will be escaped (such as \x9f).