Expand description
将棋の基本型定義
このモジュールは将棋で使用する基本的な型を提供する。
§主要な型
§盤面座標
§駒
§指し手
§ビットボード
Bitboard- 81bit ビットボード(各マスの状態を1ビットで表現)
§ゲーム状態
Color- 手番(先手BLACK/ 後手WHITE)GameResult- 対局結果(勝敗、千日手、入玉宣言など 16 種類)RepetitionState- 千日手状態EnteringKingRule- 入玉ルール
§Examples
use rsshogi::types::{Color, Square, File, Rank, PieceType, Piece};
// 手番
let black = Color::BLACK;
let white = Color::WHITE;
assert_eq!(black.flip(), white);
// マス(7七)
let sq = Square::from_file_rank(File::FILE_7, Rank::RANK_7);
assert_eq!(sq.to_string(), "7g");
// 駒(先手の歩)
let piece = Piece::from_parts(black, PieceType::PAWN);
assert_eq!(piece.to_string(), "P");Re-exports§
pub use bitboard::Bitboard;pub use color::Color;pub use entering_king_rule::EnteringKingRule;pub use eval::Eval;pub use file::File;pub use game_result::GameResult;pub use hand::HAND_BIT_MASK;pub use hand::HAND_BORROW_MASK;pub use hand::Hand;pub use hand::HandPiece;pub use moves::AperyMove;pub use moves::AperyMove32;pub use moves::MOVE_END;pub use moves::MOVE_NONE;pub use moves::MOVE_NULL;pub use moves::MOVE_RESIGN;pub use moves::MOVE_WIN;pub use moves::Move;pub use moves::Move32;pub use moves::Move32Metadata;pub use piece::Piece;pub use piece::PieceType;pub use rank::Rank;pub use rank::is_promotable_rank;pub use repetition_state::RepetitionState;pub use square::SQ_11;pub use square::SQ_12;pub use square::SQ_13;pub use square::SQ_14;pub use square::SQ_15;pub use square::SQ_16;pub use square::SQ_17;pub use square::SQ_18;pub use square::SQ_19;pub use square::SQ_21;pub use square::SQ_22;pub use square::SQ_23;pub use square::SQ_24;pub use square::SQ_25;pub use square::SQ_26;pub use square::SQ_27;pub use square::SQ_28;pub use square::SQ_29;pub use square::SQ_31;pub use square::SQ_32;pub use square::SQ_33;pub use square::SQ_34;pub use square::SQ_35;pub use square::SQ_36;pub use square::SQ_37;pub use square::SQ_38;pub use square::SQ_39;pub use square::SQ_41;pub use square::SQ_42;pub use square::SQ_43;pub use square::SQ_44;pub use square::SQ_45;pub use square::SQ_46;pub use square::SQ_47;pub use square::SQ_48;pub use square::SQ_49;pub use square::SQ_51;pub use square::SQ_52;pub use square::SQ_53;pub use square::SQ_54;pub use square::SQ_55;pub use square::SQ_56;pub use square::SQ_57;pub use square::SQ_58;pub use square::SQ_59;pub use square::SQ_61;pub use square::SQ_62;pub use square::SQ_63;pub use square::SQ_64;pub use square::SQ_65;pub use square::SQ_66;pub use square::SQ_67;pub use square::SQ_68;pub use square::SQ_69;pub use square::SQ_71;pub use square::SQ_72;pub use square::SQ_73;pub use square::SQ_74;pub use square::SQ_75;pub use square::SQ_76;pub use square::SQ_77;pub use square::SQ_78;pub use square::SQ_79;pub use square::SQ_81;pub use square::SQ_82;pub use square::SQ_83;pub use square::SQ_84;pub use square::SQ_85;pub use square::SQ_86;pub use square::SQ_87;pub use square::SQ_88;pub use square::SQ_89;pub use square::SQ_91;pub use square::SQ_92;pub use square::SQ_93;pub use square::SQ_94;pub use square::SQ_95;pub use square::SQ_96;pub use square::SQ_97;pub use square::SQ_98;pub use square::SQ_99;pub use square::SQ_D;pub use square::SQ_L;pub use square::SQ_LD;pub use square::SQ_LU;pub use square::SQ_NONE;pub use square::SQ_R;pub use square::SQ_RD;pub use square::SQ_RU;pub use square::SQ_U;pub use square::SQ_ZERO;pub use square::Square;pub use square::SquareTable;pub use square::is_promotable_square;
Modules§
- bitboard
- 81 マス将棋盤用ビットボード
- color
- entering_
king_ rule - 入玉宣言勝ちのルール設定
- eval
- file
- game_
result - hand
- moves
- piece
- rank
- repetition_
state - 千日手(同一局面反復)の状態定義
- square