Module binbo_move

Data Types

bb_game()

bb_game() = binbo_position:bb_game()

castling_flag()

castling_flag() = 0 | binbo_board:side_castling()

chess_error()

chess_error() = same_square | king_capture | own_piece_capture | {invalid_move, pname()} | binbo_position:make_move_error()

color()

color() = binbo_board:color()

game_status_error()

game_status_error() = {game_over, binbo_position:game_over_status()}

idx_move()

idx_move() = {sq_idx(), sq_idx(), q | r | b | n}

idx_move_error()

idx_move_error() = {invalid_promotion_type, term()} | {invalid_square_index, term()} | {invalid_move_datatype, term()}

move_error()

move_error() = {parse, parse_error() | parse_san_error()} | move_overall_error()

move_info()

move_info() = #move_info{from_idx = undefined | binbo_board:square_index(), to_idx = undefined | binbo_board:square_index(), from_bb = undefined | binbo_bb:sq_bb(), to_bb = undefined | binbo_bb:sq_bb(), piece = undefined | binbo_board:piece(), pcolor = undefined | binbo_board:color(), ptype = undefined | binbo_board:piece_type(), captured = binbo_board:empty_square() | binbo_board:piece(), captured_idx = undefined | binbo_board:square_index(), promo = undefined | binbo_move:promo_type(), castling = binbo_move:castling_flag(), is_check = boolean(), has_valid_moves = undefined | boolean()}

move_overall_error()

move_overall_error() = game_status_error() | piece_error() | chess_error()

parse_error()

parse_error() = empty_move | bad_move_value | invalid_move_string | bad_data_type | sq_error()

parse_san_error()

parse_san_error() = pre_parse_san_error() | san_from_error()

piece()

piece() = binbo_board:piece()

piece_error()

piece_error() = no_piece | sidetomove_mismatch

pname()

pname() = pawn | knight | bishop | rook | queen | king

pre_parse_san_error()

pre_parse_san_error() = san_not_parsed | empty_san | bad_san_value | invalid_san_string | bad_data_type

promo_type()

promo_type() = 2 | 3 | 4 | 5

san_from_error()

san_from_error() = illegal_san

sq_error()

sq_error() = invalid_square_notation

sq_idx()

sq_idx() = binbo_board:square_index()

sq_move()

sq_move() = binary() | string()

Function Index

enemy_color/1
validate_idx_move/2
validate_int_move/2
validate_move/5
validate_san_move/2
validate_sq_move/2

Function Details

enemy_color/1

enemy_color(Move_info::move_info()) -> color()

validate_idx_move/2

validate_idx_move(Move::idx_move(), Game::bb_game()) -> {ok, move_info(), bb_game()} | {error, idx_move_error()} | {error, move_overall_error()}

validate_int_move/2

validate_int_move(Move::non_neg_integer(), Game::bb_game()) -> {ok, move_info(), bb_game()} | {error, move_overall_error()}

validate_move/5

validate_move(Game::bb_game(), Piece::piece(), FromIdx::sq_idx(), ToIdx::sq_idx(), PromoType::promo_type()) -> {ok, move_info(), bb_game()} | {error, chess_error()}

validate_san_move/2

validate_san_move(San::sq_move(), Game::bb_game()) -> {ok, move_info(), bb_game()} | {error, move_error()}

validate_sq_move/2

validate_sq_move(SqMove::sq_move(), Game::bb_game()) -> {ok, move_info(), bb_game()} | {error, move_error()}


Generated by EDoc