n, produce a word grid of size
n, in as few bytes as possible.
The number provided will always be odd. The centre square of the grid must always be empty (a space character). The letters that fill the grid must be chosen at random from the English Scrabble letter distribution of letters. That is, each tile must be chosen at random, with uniform probability, from the following 100 characters:
? denotes blank tiles.
As with a Scrabble board, some tiles in this board will also be bonus tiles for a higher score. These tiles are only visible on a board with a size of 9 or more. and should be visible every 3 rows from the centre square in a pattern emanating outwards, but should never appear on the outermost letters. Bonus squares are denoted using lowercase letters, with blank tiles identified as
! instead of
?. Please see this visual demonstration or the reference implementation for more examples on how to correctly distribute bonus tiles.
VNZNT IFOSN UD VD ZIOO? KTLED
UWDESTKPW ItDBaDEdI TERMDYSTR ROANJLEFT EkCI OOsT IPAJPGM?Y MZLORETVI G!EGgPUeI MNROYOEER
This is code-golf so the shortest code in bytes wins.
- Any reasonable format can be used for I/O, assuming it is consistent.
- You should be able to handle grids at least up to 999.
- All standard loopholes are forbidden.