ntesuki で使う move generator の base class. More...
#include <ntesukiMoveGenerator.h>
Public Member Functions | |
NtesukiMoveGenerator (bool verbose=false) | |
~NtesukiMoveGenerator () | |
template<Player T> | |
void | generate (const NumEffectState &state, NtesukiMoveList &moves) |
void | generateSlow (const Player T, const NumEffectState &state, NtesukiMoveList &moves) |
template<Player T> | |
void | generateWithRzone (const NumEffectState &state, NtesukiRecord *record, int pass_left, NtesukiMoveList &moves) |
void | generateWithRzoneSlow (const Player T, const NumEffectState &state, NtesukiRecord *record, int pass_left, NtesukiMoveList &moves) |
Public Attributes | |
bool | verbose |
Private Member Functions | |
template<Player T> | |
void | setOrder (const NumEffectState &state, NtesukiMoveList &moves) |
ntesuki で使う move generator の base class.
Definition at line 18 of file ntesukiMoveGenerator.h.
osl::ntesuki::NtesukiMoveGenerator::NtesukiMoveGenerator | ( | bool | verbose = false ) |
Definition at line 106 of file ntesukiMoveGenerator.cc.
osl::ntesuki::NtesukiMoveGenerator::~NtesukiMoveGenerator | ( | ) |
Definition at line 108 of file ntesukiMoveGenerator.cc.
template void osl::ntesuki::NtesukiMoveGenerator::generate< WHITE > | ( | const NumEffectState & | state, |
NtesukiMoveList & | moves | ||
) |
Definition at line 288 of file ntesukiMoveGenerator.cc.
References moves, and osl::Move::PASS().
|
inline |
Definition at line 28 of file ntesukiMoveGenerator.h.
References osl::BLACK, and moves.
Referenced by osl::ntesuki::NtesukiTable::Table::forEachRecordFrom().
template void osl::ntesuki::NtesukiMoveGenerator::generateWithRzone< WHITE > | ( | const NumEffectState & | state, |
NtesukiRecord * | record, | ||
int | pass_left, | ||
NtesukiMoveList & | moves | ||
) |
Definition at line 142 of file ntesukiMoveGenerator.cc.
References osl::ntesuki::NtesukiMoveList::add(), osl::ntesuki::Rzone::any(), osl::Move::from(), osl::move_generator::AddEffect< P, isAttackToKing >::generate(), osl::GenerateEscapeKing::generate(), osl::Move::isDrop(), osl::isMajor(), moves, ntesuki_assert, osl::Move::PASS(), osl::Move::ptype(), osl::ntesuki::NtesukiRecord::rzone(), osl::ntesuki::NtesukiRecord::rzone_move_generation, store(), osl::ntesuki::Rzone::test(), osl::Move::to(), osl::ntesuki::NtesukiRecord::turn(), and osl::ntesuki::NtesukiRecord::use_9rzone.
|
inline |
Definition at line 43 of file ntesukiMoveGenerator.h.
References osl::BLACK, and moves.
|
private |
Definition at line 306 of file ntesukiMoveGenerator.cc.
References osl::alt(), osl::Move::from(), osl::move_generator::addeffect8::hasEffect(), osl::ntesuki::hasEffectByBigPieces(), osl::Square::isOnBoard(), osl::Piece::isPiece(), osl::Piece::owner(), osl::PAWN, osl::Piece::ptype(), osl::Move::ptypeO(), and osl::Move::to().
bool osl::ntesuki::NtesukiMoveGenerator::verbose |
Definition at line 21 of file ntesukiMoveGenerator.h.