Cute Chess 0.1
gridboard.h
1/*
2 This file is part of Cute Chess.
3 Copyright (C) 2008-2018 Cute Chess authors
4
5 Cute Chess is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 Cute Chess is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with Cute Chess. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef GRIDBOARD_H
20#define GRIDBOARD_H
21
22#include "restrictedmoveboard.h"
23
24namespace Chess {
25
40class LIB_EXPORT GridBoard : public RestrictedMoveBoard
41{
42 public:
44 GridBoard();
45
46 // Inherited from RestrictedMoveBoard
47 virtual Board* copy() const;
48 virtual QString variant() const;
49 virtual QString defaultFenString() const;
50
51 protected:
52 // Inherited from RestrictedMoveBoard
53 virtual bool restriction(const Move& move,
54 bool reverse = false) const;
55
61 bool leavesRegion(const Move& move,
62 int fs = 0,
63 int rs = 0) const;
64};
65
79class LIB_EXPORT DisplacedGridBoard : public GridBoard
80{
81 public:
84
85 // Inherited from GridBoard
86 virtual Board* copy() const;
87 virtual QString variant() const;
88 virtual QString defaultFenString() const;
89
90 protected:
91 // Inherited from GridBoard
92 virtual bool restriction(const Move& move,
93 bool reverse = false) const;
94};
95
107class LIB_EXPORT SlippedGridBoard : public GridBoard
108{
109 public:
112
113 // Inherited from GridBoard
114 virtual Board* copy() const;
115 virtual QString variant() const;
116 virtual QString defaultFenString() const;
117
118 protected:
119 // Inherited from GridBoard
120 virtual bool restriction(const Move& move,
121 bool reverse = false) const;
122};
123
138class LIB_EXPORT BerolinaGridBoard : public GridBoard
139{
140 public:
143
144 // Inherited from GridBoard
145 virtual Board* copy() const;
146 virtual QString variant() const;
147 virtual QString defaultFenString() const;
148};
149
150} // namespace Chess
151#endif // GRIDBOARD_H
virtual QString variant() const
Definition gridboard.cpp:121
BerolinaGridBoard()
Definition gridboard.cpp:104
virtual Board * copy() const
Definition gridboard.cpp:116
virtual QString defaultFenString() const
Definition gridboard.cpp:126
An internal chessboard class.
Definition board.h:58
virtual Board * copy() const
Definition gridboard.cpp:58
virtual QString variant() const
Definition gridboard.cpp:63
DisplacedGridBoard()
Definition gridboard.cpp:56
virtual QString defaultFenString() const
Definition gridboard.cpp:68
virtual bool restriction(const Move &move, bool reverse=false) const
Definition gridboard.cpp:73
bool leavesRegion(const Move &move, int fs=0, int rs=0) const
Definition gridboard.cpp:40
virtual QString defaultFenString() const
Definition gridboard.cpp:35
GridBoard()
Definition gridboard.cpp:23
virtual bool restriction(const Move &move, bool reverse=false) const
Definition gridboard.cpp:49
virtual QString variant() const
Definition gridboard.cpp:30
virtual Board * copy() const
Definition gridboard.cpp:25
A small and efficient chessmove class.
Definition move.h:43
RestrictedMoveBoard()
Definition restrictedmoveboard.cpp:24
virtual QString defaultFenString() const
Definition gridboard.cpp:92
virtual bool restriction(const Move &move, bool reverse=false) const
Definition gridboard.cpp:97
SlippedGridBoard()
Definition gridboard.cpp:80
virtual QString variant() const
Definition gridboard.cpp:87
virtual Board * copy() const
Definition gridboard.cpp:82