pub fn from_hop1zuo1_candidates_vec<T: CetkaikRepresentation>(
whose_turn: T::AbsoluteSide,
field: &T::AbsoluteField
) -> Vec<PureMove_<T::AbsoluteCoord>>
Expand description
Example
Using cetkaik_core
:
use cetkaik_yhuap_move_candidates::from_hop1zuo1_candidates_vec;
use cetkaik_core::*;
use cetkaik_core::absolute::Field;
use cetkaik_core::absolute::NonTam2Piece;
use cetkaik_core::absolute::Coord;
use cetkaik_core::absolute::Column::*;
use cetkaik_core::absolute::Row::*;
use cetkaik_yhuap_move_candidates::CetkaikCore;
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::<CetkaikCore>(
cetkaik_core::absolute::Side::IASide,
&Field {
a_side_hop1zuo1: vec![NonTam2Piece {
color: Color::Huok2,
prof: Profession::Gua2,
}],
ia_side_hop1zuo1: vec![NonTam2Piece {
color: Color::Kok1,
prof: Profession::Kauk2,
}, NonTam2Piece {
color: Color::Huok2,
prof: Profession::Nuak1,
}],
board: vec![
(Coord(AU, C), absolute::Piece::NonTam2Piece {
color: Color::Kok1,
prof: Profession::Nuak1,
side: absolute::Side::IASide
})
]
.into_iter()
.collect(),
}
);
assert_eq!(vec.len(), 80 * 2)