pub trait CetkaikRepresentation {
    type Perspective: Copy + Eq;
    type AbsoluteCoord: Copy + Eq + Debug;
    type RelativeCoord: Copy + Eq;
    type AbsoluteBoard: Clone + Debug + IsAbsoluteBoard<PieceWithSide = Self::AbsolutePiece, Coord = Self::AbsoluteCoord>;
    type RelativeBoard: Copy + IsBoard<PieceWithSide = Self::RelativePiece, Coord = Self::RelativeCoord>;
    type AbsolutePiece: Copy + Eq + IsPieceWithSide<Side = AbsoluteSide>;
    type RelativePiece: Copy + Eq + IsPieceWithSide<Side = Self::RelativeSide>;
    type AbsoluteField: Clone + Debug + IsField<PieceWithSide = Self::AbsolutePiece, Coord = Self::AbsoluteCoord, Side = AbsoluteSide, Board = Self::AbsoluteBoard> + IsAbsoluteField;
    type RelativeField;
    type RelativeSide: Copy + Eq;

Show 28 methods fn to_absolute_coord(
        coord: Self::RelativeCoord,
        p: Self::Perspective
    ) -> Self::AbsoluteCoord; fn to_relative_coord(
        coord: Self::AbsoluteCoord,
        p: Self::Perspective
    ) -> Self::RelativeCoord; fn add_delta(
        coord: Self::RelativeCoord,
        row_delta: isize,
        col_delta: isize
    ) -> Option<Self::RelativeCoord>; fn is_tam_hue_by_default(coord: Self::RelativeCoord) -> bool; fn relative_tam2() -> Self::RelativePiece; fn absolute_tam2() -> Self::AbsolutePiece; fn is_upward(s: Self::RelativeSide) -> bool; fn as_board_absolute(field: &Self::AbsoluteField) -> &Self::AbsoluteBoard; fn as_board_mut_absolute(
        field: &mut Self::AbsoluteField
    ) -> &mut Self::AbsoluteBoard; fn as_board_relative(field: &Self::RelativeField) -> &Self::RelativeBoard; fn is_water_relative(c: Self::RelativeCoord) -> bool; fn is_water_absolute(c: Self::AbsoluteCoord) -> bool; fn loop_over_one_side_and_tam(
        board: &Self::RelativeBoard,
        side: Self::RelativeSide,
        f_tam_or_piece: &mut dyn FnMut(Self::RelativeCoord, Option<Profession>)
    ); fn to_relative_field(
        field: Self::AbsoluteField,
        p: Self::Perspective
    ) -> Self::RelativeField; fn to_relative_side(
        side: AbsoluteSide,
        p: Self::Perspective
    ) -> Self::RelativeSide; fn get_one_perspective() -> Self::Perspective; fn absolute_distance(a: Self::AbsoluteCoord, b: Self::AbsoluteCoord) -> i32; fn absolute_same_direction(
        origin: Self::AbsoluteCoord,
        a: Self::AbsoluteCoord,
        b: Self::AbsoluteCoord
    ) -> bool; fn relative_get(
        board: Self::RelativeBoard,
        coord: Self::RelativeCoord
    ) -> Option<Self::RelativePiece> { ... } fn relative_clone_and_set(
        board: &Self::RelativeBoard,
        coord: Self::RelativeCoord,
        p: Option<Self::RelativePiece>
    ) -> Self::RelativeBoard { ... } fn absolute_get(
        board: &Self::AbsoluteBoard,
        coord: Self::AbsoluteCoord
    ) -> Option<Self::AbsolutePiece> { ... } fn match_on_piece_and_apply<U>(
        piece: Self::RelativePiece,
        f_tam: &dyn Fn() -> U,
        f_piece: &dyn Fn(Profession, Self::RelativeSide) -> U
    ) -> U { ... } fn match_on_relative_piece_and_apply<U>(
        piece: Self::RelativePiece,
        f_tam: &dyn Fn() -> U,
        f_piece: &dyn Fn(Color, Profession, Self::RelativeSide) -> U
    ) -> U { ... } fn match_on_absolute_piece_and_apply<U>(
        piece: Self::AbsolutePiece,
        f_tam: &dyn Fn() -> U,
        f_piece: &dyn Fn(Color, Profession, AbsoluteSide) -> U
    ) -> U { ... } fn empty_squares_relative(
        board: &Self::RelativeBoard
    ) -> Vec<Self::RelativeCoord> { ... } fn empty_squares_absolute(
        board: &Self::AbsoluteBoard
    ) -> Vec<Self::AbsoluteCoord> { ... } fn hop1zuo1_of(
        side: AbsoluteSide,
        field: &Self::AbsoluteField
    ) -> Vec<ColorAndProf> { ... } fn has_prof_absolute(piece: Self::AbsolutePiece, prof: Profession) -> bool { ... }
}

Required Associated Types§

Required Methods§

Provided Methods§

👎Deprecated: Use board.peek(coord)
👎Deprecated: Use new_board.put(coord, p)
👎Deprecated: Use board.peek(coord)
👎Deprecated: Use piece.match_on_piece_and_apply(f_tam, f_piece)
👎Deprecated: Use piece.match_on_piece_and_apply(f_tam, f_piece)
👎Deprecated: Use piece.match_on_piece_and_apply(f_tam, f_piece)
👎Deprecated: Use board.empty_squares().collect::<Vec<_>>()
👎Deprecated: Use board.empty_squares().collect::<Vec<_>>()
👎Deprecated: Use field.hop1zuo1_of(side).collect::<Vec<_>>()
👎Deprecated: Use piece.has_prof(prof)

Implementors§