My Project
core
osl
move_classifier
openCheck.h
Go to the documentation of this file.
1
/* openCheck.h
2
*/
3
#ifndef _MOVE_CLASSIFIER_OPENCHECK_H
4
#define _MOVE_CLASSIFIER_OPENCHECK_H
5
6
#include "
osl/move_classifier/classifierTraits.h
"
7
#include "
osl/move_classifier/kingOpenMove.h
"
8
#include "
osl/numEffectState.h
"
9
10
namespace
osl
11
{
12
namespace
move_classifier
13
{
14
template
<Player P>
15
struct
OpenCheck
16
{
17
static
bool
isMember
(
const
NumEffectState
& state,
18
Ptype
ptype,
Square
from,
Square
to)
19
{
20
return
KingOpenMove
<
alt
(P)>
::isMember
(state,ptype,from,to);
21
}
22
};
23
24
template
<Player P>
struct
ClassifierTraits
<
OpenCheck
<P> >
25
{
26
static
const
bool
drop_suitable
=
false
;
27
static
const
bool
result_if_drop =
false
;
28
};
29
}
// namespace move_classifier
30
}
// namespace osl
31
32
#endif
/* _MOVE_CLASSIFIER_OPENCHECK_H */
33
// ;;; Local Variables:
34
// ;;; mode:c++
35
// ;;; c-basic-offset:2
36
// ;;; End:
classifierTraits.h
osl::NumEffectState
利きを持つ局面
Definition
numEffectState.h:34
osl::Square
Definition
basic_type.h:532
kingOpenMove.h
osl
Definition
additionalEffect.h:6
osl::Ptype
Ptype
駒の種類を4ビットでコード化する
Definition
basic_type.h:84
osl::alt
constexpr Player alt(Player player)
Definition
basic_type.h:13
numEffectState.h
osl::move_classifier::ClassifierTraits
Definition
classifierTraits.h:11
osl::move_classifier::ClassifierTraits::drop_suitable
static const bool drop_suitable
Definition
classifierTraits.h:12
osl::move_classifier::KingOpenMove
Pの王をopen checkにする手でないことをチェック.
Definition
kingOpenMove.h:22
osl::move_classifier::OpenCheck
Definition
openCheck.h:16
osl::move_classifier::OpenCheck::isMember
static bool isMember(const NumEffectState &state, Ptype ptype, Square from, Square to)
Definition
openCheck.h:17
Generated by
1.9.8