Se puede usar cualquier módulo que no sea específico de tablero de ajedrez. Por ejemplo, se puede usar
Chess::Board porque es un módulo que sirve para hacer una representación de un momento de una partida, pero no para pintarla en pantalla. También se permite usar el módulo
Chess::ChessKit, pero no su método chessview(), porque es justo el método que muestra el tablero.
El objeto es pintar un tablero, con sus piezas. Y las piezas pueden ser letras o lo que sea. Y si se ponen piezas, deben estar en posiciones legales (no aleatorias).
Tu solución no es perfecta: no se distinguen las casillas blancas de las negras, ni tiene piezas. Y una columna demás. Recuerda que puedes reeditarlo pulsando en el botón Editar.