My Project
core
osl
move_generator
open.h
Go to the documentation of this file.
1
#ifndef OSL_GENERATE_OPEN_MOVES_H
2
#define OSL_GENERATE_OPEN_MOVES_H
3
#include "
osl/move_generator/pieceOnBoard.h
"
4
#include "
osl/move_generator/move_action.h
"
5
#include "
osl/numEffectState.h
"
6
7
namespace
osl
8
{
9
namespace
move_generator
10
{
16
template
<
class
Action>
17
class
Open
18
{
19
public
:
20
template
<Player P>
21
static
void
generate
(
const
NumEffectState
& state,
Piece
p,Action& action,
Square
to,
Direction
dir);
22
23
};
24
25
struct
GenerateOpen
26
{
27
template
<
class
Action>
28
static
void
29
generate
(
Player
pl,
const
NumEffectState
& state,
Piece
p,
30
Action& action,
Square
to,
Direction
dir)
31
{
32
if
(pl ==
BLACK
)
33
Open<Action>::template
generate<BLACK>(state, p, action, to, dir);
34
else
35
Open<Action>::template
generate<WHITE>(state, p, action, to, dir);
36
}
37
};
38
39
}
// namespace move_generator
40
}
// namespace osl
41
#endif
/* OSL_GENERATE_OPEN_MOVES_H */
42
// ;;; Local Variables:
43
// ;;; mode:c++
44
// ;;; c-basic-offset:2
45
// ;;; End:
osl::NumEffectState
利きを持つ局面
Definition
numEffectState.h:34
osl::Piece
駒.
Definition
basic_type.h:788
osl::Square
Definition
basic_type.h:532
osl::move_generator::Open
長い利きを止めている駒を動かして, 利きを伸ばす.
Definition
open.h:18
osl::move_generator::Open::generate
static void generate(const NumEffectState &state, Piece p, Action &action, Square to, Direction dir)
move_action.h
osl
Definition
additionalEffect.h:6
osl::Direction
Direction
Definition
basic_type.h:310
osl::Player
Player
Definition
basic_type.h:8
osl::BLACK
@ BLACK
Definition
basic_type.h:9
numEffectState.h
pieceOnBoard.h
osl::move_generator::GenerateOpen
Definition
open.h:26
osl::move_generator::GenerateOpen::generate
static void generate(Player pl, const NumEffectState &state, Piece p, Action &action, Square to, Direction dir)
Definition
open.h:29
Generated by
1.9.8