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)