/lexicon-rs

A parser for Conway’s Game of Life Lexicon

Primary LanguageRustMIT LicenseMIT

Lexicon

Crates.io Rust

A convenient interface to get patterns from the Lexicon and use them in your implementation of Conway’s Game of Life.

Used by Lifeee, my web app implementation of Conway’s Game of Life, check it out!

Usage

let lexicon = lexicon::Lexicon::get();
assert_eq!(lexicon.terms.len() > 0, true);

let glider = lexicon.get_term("glider".to_string()).unwrap();
assert_eq!(glider.width, 3);
assert_eq!(glider.height, 3);
assert_eq!(glider.cells, vec![
  lexicon::Cell { x: 0, y: 0 },
  lexicon::Cell { x: 1, y: 0 },
  lexicon::Cell { x: 2, y: 0 },
  lexicon::Cell { x: 0, y: 1 },
  lexicon::Cell { x: 1, y: 2 }
]);

Regenerate a bin file after an update of the text version

cargo run will read the file res/lexicon.txt, parse it and serialize the result into res/lexicon.bin, which will be used by the library then.