File indexing completed on 2024-04-28 07:51:27

0001 /***************************************************************************
0002 *   KBlocks, a falling blocks game by KDE                                *
0003 *   SPDX-FileCopyrightText: 2010 Zhongjie Cai <squall.leonhart.cai@gmail.com>       *
0004 *                                                                         *
0005 *   SPDX-License-Identifier: GPL-2.0-or-later
0006 ***************************************************************************/
0007 #ifndef PIECE_INTERFACE
0008 #define PIECE_INTERFACE
0009 
0010 class PieceInterface
0011 {
0012 public:
0013     PieceInterface() : mType(0), mPosX(0), mPosY(0), mRotation(0) {};
0014     virtual ~PieceInterface() {};
0015 
0016 public:
0017     virtual int  toValue() = 0;
0018 
0019     virtual int  getType() = 0;
0020     virtual int  getPosX() = 0;
0021     virtual int  getPosY() = 0;
0022     virtual int  getRotation() = 0;
0023 
0024     virtual int  getCellCount() = 0;
0025     virtual int  getRotationCount() = 0;
0026     virtual int  getCellPosX(int index) = 0;
0027     virtual int  getCellPosY(int index) = 0;
0028 
0029 protected:
0030     int mType;
0031     int mPosX;
0032     int mPosY;
0033     int mRotation;
0034 };
0035 
0036 #endif //PIECE_INTERFACE