site-og.rs
906 B · rust · 30 lines
1use mrlycore::errors::Result;2use mrlyfig::{grid, ink, save, Board, Frame, Grid};34const CELL: f64 = 18.0;5const ACROSS: usize = 10;6const DOWN: usize = 5;78fn main() -> Result<()> {9 let mut board = Board::og();10 let seed = grid::mask(&grid::LOGO, 1);11 let cols = 6 * ACROSS - 1;12 let rows = 6 * DOWN - 1;13 let mut mask = vec![vec![false; cols]; rows];14 for (row, line) in mask.iter_mut().enumerate() {15 for (col, on) in line.iter_mut().enumerate() {16 *on = row % 6 < 5 && col % 6 < 5 && seed[row % 6][col % 6];17 }18 }19 let w = CELL * cols as f64;20 let h = CELL * rows as f64;21 let frame = Frame::new(22 ((board.width as f64 - w) / 2.0).round(),23 ((board.height as f64 - h) / 2.0).round(),24 w,25 h,26 );27 Grid::new(frame, cols, rows, 0.0).carpet(&mut board, &mask, ink::fg());28 save("site-og", &board)?;29 Ok(())30}