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
//! # Example //! ## Get legals moves and plays some random. //! ``` //!use crate::goban::rules::*; //!use crate::goban::rules::game::*; //!use rand::seq::IteratorRandom; //! use goban::rules::game_builder::GameBuilder; //! //!let mut g = GameBuilder::default() //! .size((19,19)) //! .rule(Rule::Chinese) //!// .komi(7.5) Komi is hardcoded for each rule, but can be override like this. //! .build().unwrap(); //!let mut i = 35; //!while !g.is_over() && i != 0 { //! g.play( //! // legals return an iterator of (x,y) points (lazy) //! g.legals() //! .choose(&mut rand::thread_rng()) //! .map(|point| Move::Play(point.0,point.1)) //! .unwrap()); //! i -= 1; //! g.display_goban(); //!} //! //! ``` #[macro_use] extern crate bitflags; #[macro_use] extern crate getset; #[macro_use] extern crate lazy_static; pub mod pieces; pub mod rules;