45 lines
1.4 KiB
Rust
45 lines
1.4 KiB
Rust
/*
|
|
Copyright 2023, Savanni D'Gerinel <savanni@luminescent-dreams.com>
|
|
|
|
This file is part of the Luminescent Dreams Tools.
|
|
|
|
Luminescent Dreams Tools is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
|
|
Luminescent Dreams Tools is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with Lumeto. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
use coordinates::hex_map;
|
|
use std::path::PathBuf;
|
|
|
|
#[derive(Clone)]
|
|
struct MapVal;
|
|
|
|
impl Default for MapVal {
|
|
fn default() -> Self {
|
|
Self
|
|
}
|
|
}
|
|
|
|
impl From<MapVal> for String {
|
|
fn from(_val: MapVal) -> Self {
|
|
".".to_owned()
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let mut args = std::env::args().skip(1);
|
|
|
|
let filename = args
|
|
.next()
|
|
.map(PathBuf::from)
|
|
.expect("A filename is required");
|
|
let size = args
|
|
.next()
|
|
.and_then(|s| s.parse::<usize>().ok())
|
|
.unwrap_or(3);
|
|
let map: hex_map::Map<MapVal> = hex_map::Map::new_hexagonal(size);
|
|
hex_map::write_file(filename, map).expect("to write file");
|
|
}
|