31 lines
939 B
Racket
31 lines
939 B
Racket
#lang racket/base
|
||
|
||
; Daily island updater
|
||
; This scripts generates islands
|
||
; It should be called once a day to create the daily island for the following day
|
||
|
||
(module+ main
|
||
(require
|
||
racket/date
|
||
racket/file
|
||
"src/generators/island.rkt"
|
||
"src/generators/island/renderer.rkt")
|
||
; Reseed the generator
|
||
(define seed (current-seconds))
|
||
(random-seed seed)
|
||
; Generate an island (200×200)
|
||
(define island (island-generate 200))
|
||
; Create the output directory if is does not exist yet
|
||
; Directory name
|
||
(define tomorrow
|
||
(parameterize ((date-display-format 'iso-8601))
|
||
(date->string
|
||
(seconds->date (+ (* 24 60 60) (* 0.001 (current-inexact-milliseconds))))
|
||
)))
|
||
(define directory-base "static/islands")
|
||
(define directory-name (string-append directory-base "/" tomorrow))
|
||
; Create the directory
|
||
(make-directory* directory-name)
|
||
; Save the island
|
||
(island-render island directory-name))
|