scastiel / lexicon-rs

A parser for Conway’s Game of Life Lexicon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A parser for Conway’s Game of Life Lexicon

License:MIT License


Languages

Language:Rust 100.0%