pub fn from_hop1zuo1_candidates_vec<T: CetkaikRepresentation>(
whose_turn: AbsoluteSide,
field: &T::AbsoluteField
) -> Vec<PureMove_<T::AbsoluteCoord>>
Expand description
Example
Using cetkaik_naive_representation
:
use cetkaik_yhuap_move_candidates::from_hop1zuo1_candidates_vec;
use cetkaik_naive_representation::*;
use cetkaik_naive_representation::absolute::Field;
use cetkaik_fundamental::*;
use cetkaik_naive_representation::absolute::Coord;
use cetkaik_naive_representation::absolute::Column::*;
use cetkaik_naive_representation::absolute::Row::*;
use cetkaik_naive_representation::CetkaikNaive;
use cetkaik_naive_representation::absolute::Board;
use std::collections::HashSet;
// There are eighty unoccupied squares on the board, and `IASide` has two pieces in hop1zuo1
let vec = from_hop1zuo1_candidates_vec::<CetkaikNaive>(
cetkaik_fundamental::AbsoluteSide::IASide,
&Field {
a_side_hop1zuo1: vec![ColorAndProf {
color: Color::Huok2,
prof: Profession::Gua2,
}],
ia_side_hop1zuo1: vec![ColorAndProf {
color: Color::Kok1,
prof: Profession::Kauk2,
}, ColorAndProf {
color: Color::Huok2,
prof: Profession::Nuak1,
}],
board: Board(vec![
(Coord(AU, C), absolute::Piece::NonTam2Piece {
color: Color::Kok1,
prof: Profession::Nuak1,
side: AbsoluteSide::IASide
})
]
.into_iter()
.collect()),
}
);
assert_eq!(vec.len(), 80 * 2)