2 #include "moveserializer.h"
4 #include <core/board.h>
5 #include <core/state.h>
9 MoveSerializer::MoveSerializer(IMoveSerializer
* serializer
)
10 : Delegators::MoveSerializer(serializer
) { }
12 QString
MoveSerializer::serialize(const Move
& move
, const IState
* ref
) const {
13 if (type() == "simple") {
14 int ysize
= ref
->board()->size().y
;
15 QString res
= move
.src().toString(ysize
) + move
.dst().toString(ysize
);
23 else if (type() == "compact") {
24 return san(move
, ref
);
26 else if (type() == "decorated") {
27 QString res
= san(move
, ref
);
28 res
.replace('K', "{king}");
29 res
.replace('G', "{gold}");
30 res
.replace('S', "{silver}");
31 res
.replace('N', "{knight}");
32 res
.replace('L', "{lance}");
33 res
.replace('B', "{bishop}");
34 res
.replace('R', "{rook}");
35 res
.replace('P', "{pawn}");