osl::PtypePlayerTraits< T, P > Struct Template Reference

`#include <ptypeTraits.h>`

## Static Public Member Functions

static bool | canDropTo (Square pos)
static bool | mayPromote (Square pos)
| posにある駒がpromoteする可能性があるか?
static bool | mustPromote (Square pos)
| posにあるTの駒がpromoteする手しかない
static bool | canPromote (Square pos)
| posにあるTの駒がどの方向に動いてもpromote可能
static bool | checkPromote (Square pos)
| posにあるTの駒がpromote可能なdirectionに動く時だけpromote可能 shortの時はその時のみYES
static bool | noPromote (Square pos)
| posにあるTの駒は次に絶対にpromoteできない

## Detailed Description

template<Ptype T, Player P>
struct osl::PtypePlayerTraits< T, P >

Definition at line 362 of file ptypeTraits.h.

## Member Function Documentation

## canDropTo()

template<Ptype T, Player P>

bool osl::PtypePlayerTraits< T, P >::canDropTo | ( | Square | pos | ) |

inline static

Definition at line 364 of file ptypeTraits.h.

References osl::BLACK, osl::Square::reverseY(), and osl::Square::y().

Referenced by osl::effect_action::BetterToPromote< Action >::doAction(), osl::effect_action::AlwaysMove< Action >::doActionPtype(), and osl::effect_action::BetterToPromote< Action >::doActionPtype().

## canPromote()

template<Ptype T, Player P>

bool osl::PtypePlayerTraits< T, P >::canPromote | ( | Square | pos | ) |

inline static

posにあるTの駒がどの方向に動いてもpromote可能

Definition at line 409 of file ptypeTraits.h.

References osl::BLACK, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::Square::yGe(), and osl::Square::yLe().

## checkPromote()

template<Ptype T, Player P>

bool osl::PtypePlayerTraits< T, P >::checkPromote | ( | Square | pos | ) |

inline static

posにあるTの駒がpromote可能なdirectionに動く時だけpromote可能 shortの時はその時のみYES

Definition at line 426 of file ptypeTraits.h.

References osl::BISHOP, osl::BLACK, osl::LANCE, osl::ROOK, osl::SILVER, and osl::Square::yEq().

## mayPromote()

template<Ptype T, Player P>

bool osl::PtypePlayerTraits< T, P >::mayPromote | ( | Square | pos | ) |

inline static

posにある駒がpromoteする可能性があるか?

先手BISHOPが49,58,59,69などにいる場合は可能性がないが，この時点では排除しない

Definition at line 379 of file ptypeTraits.h.

References osl::BLACK, osl::Square::reverseY(), and osl::Square::y().

## mustPromote()

template<Ptype T, Player P>

bool osl::PtypePlayerTraits< T, P >::mustPromote | ( | Square | pos | ) |

inline static

posにあるTの駒がpromoteする手しかない

Definition at line 393 of file ptypeTraits.h.

References osl::BLACK, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::Square::yEq(), osl::Square::yGe(), and osl::Square::yLe().

## noPromote()

template<Ptype T, Player P>

bool osl::PtypePlayerTraits< T, P >::noPromote | ( | Square | pos | ) |

inline static

posにあるTの駒は次に絶対にpromoteできない

Definition at line 444 of file ptypeTraits.h.

References osl::BISHOP, osl::BLACK, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::ROOK, osl::SILVER, osl::Square::yGe(), and osl::Square::yLe().

The documentation for this struct was generated from the following file:

- ptypeTraits.h