main.rs 938 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. extern crate argparse;
  2. mod config;
  3. mod board;
  4. use self::argparse::{ArgumentParser, Store};
  5. fn main() {
  6. // Argument handling
  7. let mut config_location = config::default_config_file();
  8. let config_help = format!("Config file location, default {}", config_location);
  9. {
  10. let mut ap = ArgumentParser::new();
  11. ap.set_description("A Fallout terminal minigame inspired game.");
  12. ap.refer(&mut config_location)
  13. .add_option(
  14. &["--config"],
  15. Store,
  16. config_help.as_str()
  17. );
  18. ap.parse_args_or_exit();
  19. }
  20. // Config file handling
  21. if config_location == "" {
  22. panic!("No default config file found, and no config file path specified")
  23. }
  24. let config = config::load_config_file(config_location);
  25. let board = board::init_board();
  26. board.intro();
  27. board.w.clear();
  28. board.initialize_game(config);
  29. }