osl/解説

将棋盤 NumEffectState?

member 関数

いつも有効

あるマス対象の利き関係

  • bool hasEffectBy?(Player, Position) 利きの有無
  • int countEffect 利きの数
  • bool hasEffectByPiece?(Piece, Position) 指定の駒の利き
  • Piece findCheapThreat? 利きの中でもっとも安そうな駒
  • mask_t effectBit(Player, Ptype, Position) 特定の駒の種類の利きを列挙
  • mask_t selectLong<PTYPE>(Position, Player) 特定の駒の種類の合駒可能な利きを列挙 長い利き
  • Piece longEffectOfDirection?(Player, Piece, Direction) ある方向から到達している長い利きの元の駒
  • Position kingMobilityOfPlyaer?(Player, Direction) 玉がQueenだとしてどこまで動けるか
  • Position getMobility(Direction,int) 駒番号の駒がどこまで動けるか(長い利きの駒のみ)

一般

  • bool inCheck() 王手状態
  • PieceMask? getOnBoardMask?(Player) 盤上の駒一覧
  • PieceMask? promotedPieces 成っている駒一覧
  • PieceMask? effectedMask(Player) 利きのある駒一覧
  • PieceMask? pin(Player) pin
  • NumBitmapEffect? getEffect(Position)
  • bool hasEffectFromTo?(PtypeO,Position,Position) 駒を仮に置いたら利きが生じるか

指手の更新直後のみ有効

  • BoardMask? changedEffects(Player) 利きが変化したマス一覧
  • NumBitmapEffect? changedPieces 利きが変化した駒一覧
  • bool anyEffectChanged?<PTYPE>() 指定種類の駒の利きが変化したか
  • bool longEffectChanged?<PTYPE>() 指定種類の駒の合駒可能な利きが変化したか

その他

  • 手を指す ApplyMoveOfTurn?::doMove(NumEffectState?&, Move);

[ 編集 | 凍結 | 差分 | バックアップ | 添付 | リロード ]   [ 新規 | | ヘルプ ]
https://gps.tanaka.ecc.u-tokyo.ac.jp:443/gpsshogi/pukiwiki.php?osl%2F%B2%F2%C0%E2%2F%BE%AD%B4%FD%C8%D7 トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-09-04 (金) 15:28:16 (5516d)