#lang racket
(define grid (make-vector (* 80 24)))
(vector-fill! grid " ")
(let*-values
([(side1 side2) (partition (lambda (x) (zero? (bitwise-and x 2))) (shuffle (range 16)))]
[(chunks) (append-map list side1 side2)]
[(rooms) (random 6 11)])
(for ([chunk chunks] [room rooms])
(define chunkPoint (make-rectangular (* 20 (modulo chunk 4)) (* 5 (quotient chunk 4))))
(define randomPoint (+ chunkPoint (make-rectangular (random 20) (random 5))))
(define farthestCorner (argmax