1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
//! //! //! # Examples //! //! //! ## Usage //! //!``` //!extern crate env_logger; //! //!use pgnparse::parser::*; //! //!use log::{info}; //! //!fn main(){ //! env_logger::init(); //! //! let pgn = r#"[FEN "8/8/8/8/8/7k/8/7K w - - 0 1"] //![White "White"] //![Black "Black"] //![Variant "Atomic"] //! //!1. Kh2 Kg2 //!"#; //! //! info!("parsing pgn"); //! //! let result = parse_pgn_to_rust_struct(pgn); //! //! println!("rust struct = {:?}", result); //! //! let result = parse_pgn_to_json_string(pgn); //! //! println!("json = {}", result); //!} //!``` //! //! //! ## Advanced //! //!``` //!extern crate env_logger; //! //!use pgnparse::parser::*; //! //!fn main(){ //! env_logger::init(); //! //! let mut book = Book::new().me("chesshyperbot"); //! //! book.parse("test.pgn"); //! //! let pos = book.positions.get("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"); //! //! println!("pos for epd = {:?}", pos); //! //! if let Some(pos) = pos { //! let m = pos.get_random_weighted_by_plays(); //! //! println!("random weighted by plays = {:?} , plays = {}", m, m.unwrap().plays()); //! //! let m = pos.get_random_weighted_by_perf(); //! //! println!("random weighted by perf = {:?} , perf = {}", m, m.unwrap().perf()); //! //! let m = pos.get_random_mixed(50); //! //! println!("random mixed = {:?}", m); //! } //!} //!``` //! // lib pub mod parser;