Crates.io | advent-of-code-ocr |
lib.rs | advent-of-code-ocr |
version | 0.1.1 |
source | src |
created_at | 2022-12-10 13:35:17.745707 |
updated_at | 2022-12-10 13:52:23.793338 |
description | Small crate to help convert AoC text screens to strings |
homepage | |
repository | https://github.com/OliverFlecke/advent-of-code-rust/tree/main/advent-of-code-ocr |
max_upload_size | |
id | 733839 |
size | 9,132 |
Crate to convert Advent of Code from ASCII letters to characters. This is required for several of the puzzle days through the years, including: 2016/09, 2019/08, 2019/11, 2021/13, and 2022/10.
This has been made to help automate parsing of those puzzles for my own AoC solutions, but are shared for others interest.
cargo install advent-of-code-ocr
The main function to parse a screen from AoC is the parse_string_to_letters
.
use advent_of_code_ocr::parse_string_to_letters;
// Input is:
// ####.###....##.###..###..#..#..##..#..#.
// #....#..#....#.#..#.#..#.#.#..#..#.#..#.
// ###..#..#....#.###..#..#.##...#..#.####.
// #....###.....#.#..#.###..#.#..####.#..#.
// #....#....#..#.#..#.#.#..#.#..#..#.#..#.
// ####.#.....##..###..#..#.#..#.#..#.#..#.
let input = "####.###....##.###..###..#..#..##..#..#.\n#....#..#....#.#..#.#..#.#.#..#..#.#..#.\n###..#..#....#.###..#..#.##...#..#.####.\n#....###.....#.#..#.###..#.#..####.#..#.\n#....#....#..#.#..#.#.#..#.#..#..#.#..#.\n####.#.....##..###..#..#.#..#.#..#.#..#.";
assert_eq!(parse_string_to_letters(input), "EPJBRKAH");
Two other functions are exposed by this crate:
parse_letter
which tries to convert a single AoC character to a Option<char>
split_screen
which splits a full AoC screen to individual AoC characters.