1 #ifndef HLVARIANT__CRAZYHOUSE__VARIANT_H
2 #define HLVARIANT__CRAZYHOUSE__VARIANT_H
4 #include "../chess/movegenerator.h"
5 #include "../chess/serializer.h"
9 #include "../animator.h"
14 namespace Crazyhouse
{
16 struct TAGUA_EXPORT Variant
{
17 typedef Chess::Move Move
;
18 typedef Chess::Piece Piece
;
19 typedef Board
<Piece
> Board
;
20 typedef GameState
<Board
, Move
> GameState
;
21 typedef Chess::LegalityCheck
<GameState
> LegalityCheck
;
22 typedef Chess::MoveGenerator
<LegalityCheck
> MoveGenerator
;
23 typedef Chess::Serializer
<MoveGenerator
> Serializer
;
24 typedef SimpleAnimator
<Variant
> Animator
;
26 static const bool hasICS
= false;
27 static const bool m_simple_moves
= false;
28 static const char *m_name
;
29 static const char *m_theme_proxy
;
31 static int moveListLayout() { return 0; }
33 static VariantInfo
* static_chess_variant
;
34 static VariantInfo
* info();
35 static OptList
positionOptions() { return OptList(); }
40 } // namespace HLVariant
42 #endif // HLVARIANT__CRAZYHOUSE__VARIANT_H