All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
osl::ntesuki::NtesukiSimulationSearcher Class Reference

#include <ntesukiSimulationSearcher.h>

Collaboration diagram for osl::ntesuki::NtesukiSimulationSearcher:
Collaboration graph
[legend]

List of all members.

Classes

class  AttackHelperDisproof
class  AttackHelperProof
class  DefenseHelperDisproof
class  DefenseHelperProof

Public Member Functions

 NtesukiSimulationSearcher (state_t &state, NtesukiMoveGenerator *mg, PathEncoding &path, NtesukiTable &table, NtesukiRecord::ISScheme isscheme, bool verbose=false)
 ~NtesukiSimulationSearcher ()
template<Player P>
bool startFromAttackProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to proof, P as Attacker.
template<Player P>
bool startFromDefenseProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to proof, P as Defender.
template<Player P>
bool startFromAttackDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to disproof, P as Attacker.
template<Player P>
bool startFromDefenseDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Start simulation to disproof, P as Defender.
unsigned int nodeCount () const

Public Attributes

bool debug

Private Member Functions

template<Player P>
bool isSafeMove (const Move move, int pass_left)
 Still cannot see if is safe move.
template<Player P>
Move adjustMove (Move candidate) const
template<Player P>
void attackForProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Proof 攻撃に関する計算
template<Player P>
void defenseForProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Disproof 防御に関する計算
template<Player P>
void attackForDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Disproof 攻撃に関する計算
template<Player P>
void defenseForDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move)
 Disproof 防御に関する計算

Private Attributes

unsigned int node_count
 現在までに何ノード読んだか
bool verbose
 経過をどこまで表示するか
unsigned int proof_count
 Simulation 結果の統計
unsigned int proof_success_count
unsigned int light_proof_success_count
unsigned int disproof_count
unsigned int disproof_success_count
NtesukiResult result
state_tstate
NtesukiMoveGeneratormg
PathEncodingpath
NtesukiTabletable
NtesukiRecord::ISScheme isscheme

Detailed Description

Definition at line 15 of file ntesukiSimulationSearcher.h.


Constructor & Destructor Documentation

Definition at line 10 of file ntesukiSimulationSearcher.cc.

Definition at line 34 of file ntesukiSimulationSearcher.cc.

References verbose.


Member Function Documentation

template<Player P>
Move osl::ntesuki::NtesukiSimulationSearcher::adjustMove ( Move  candidate) const [inline, private]
template<Player P>
void NtesukiSimulationSearcher::attackForDisproof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
) [private]
template<Player P>
void NtesukiSimulationSearcher::attackForProof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
) [private]
template<Player P>
void NtesukiSimulationSearcher::defenseForDisproof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
) [private]
template<Player P>
void NtesukiSimulationSearcher::defenseForProof ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
) [private]
template<Player P>
bool NtesukiSimulationSearcher::isSafeMove ( const Move  move,
int  pass_left 
) [private]

Still cannot see if is safe move.

Definition at line 130 of file ntesukiSimulationSearcherProof.tcc.

References osl::Move::from(), osl::Move::isDrop(), osl::Move::ptype(), and osl::Move::to().

unsigned int osl::ntesuki::NtesukiSimulationSearcher::nodeCount ( ) const [inline]

Definition at line 153 of file ntesukiSimulationSearcher.h.

template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromAttackDisproof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)

Start simulation to disproof, P as Attacker.

Returns:
true, if nocheckmate is proven

Definition at line 396 of file ntesukiSimulationSearcherDisproof.tcc.

References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getValue(), ntesuki_assert, result, and TRY_DFPN.

template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)
template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseDisproof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)

Start simulation to disproof, P as Defender.

Returns:
true, if nocheckmate is proven

Definition at line 424 of file ntesukiSimulationSearcherDisproof.tcc.

References CATCH_DFPN, osl::ntesuki::NtesukiRecord::getValue(), ntesuki_assert, result, and TRY_DFPN.

template<Player P>
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof< WHITE > ( NtesukiRecord record,
const NtesukiRecord record_orig,
const unsigned int  passLeft,
const Move  last_move 
)

Member Data Documentation

Definition at line 30 of file ntesukiSimulationSearcher.h.

Definition at line 27 of file ntesukiSimulationSearcher.h.

Definition at line 28 of file ntesukiSimulationSearcher.h.

Definition at line 37 of file ntesukiSimulationSearcher.h.

Definition at line 26 of file ntesukiSimulationSearcher.h.

Definition at line 34 of file ntesukiSimulationSearcher.h.

現在までに何ノード読んだか

Definition at line 19 of file ntesukiSimulationSearcher.h.

Definition at line 35 of file ntesukiSimulationSearcher.h.

Simulation 結果の統計

Definition at line 24 of file ntesukiSimulationSearcher.h.

Definition at line 25 of file ntesukiSimulationSearcher.h.

Definition at line 32 of file ntesukiSimulationSearcher.h.

Definition at line 33 of file ntesukiSimulationSearcher.h.

Definition at line 36 of file ntesukiSimulationSearcher.h.

経過をどこまで表示するか

Definition at line 21 of file ntesukiSimulationSearcher.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines