mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 14:16:16 -04:00
added for plugins own dir
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
97d8640f3a
commit
87344de7d4
809 changed files with 790 additions and 722 deletions
105
plugins/qcheckers_plugin/checkers.h
Normal file
105
plugins/qcheckers_plugin/checkers.h
Normal file
|
@ -0,0 +1,105 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2002-2003 Andi Peredri *
|
||||
* andi@ukr.net *
|
||||
* Copyright (C) 2004-2005 Artur Wiebe *
|
||||
* wibix@gmx.de *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef CHECKERS_H
|
||||
#define CHECKERS_H
|
||||
|
||||
|
||||
#include <QString>
|
||||
|
||||
|
||||
// do not change - hard coded
|
||||
#define NONE 0
|
||||
#define MAN1 1
|
||||
#define KING1 2
|
||||
#define FREE 3
|
||||
#define KING2 4
|
||||
#define MAN2 5
|
||||
#define FULL 6
|
||||
|
||||
#define UL -6
|
||||
#define UR -5
|
||||
#define DL 5
|
||||
#define DR 6
|
||||
|
||||
|
||||
class Checkers
|
||||
{
|
||||
public:
|
||||
Checkers();
|
||||
virtual ~Checkers() {}
|
||||
|
||||
bool setup(int setupboard[]);
|
||||
virtual bool go1(int from, int to)=0;
|
||||
|
||||
void go2();
|
||||
|
||||
void setSkill(int i) { levelmax=i; };
|
||||
int skill() const { return levelmax; }
|
||||
virtual int type() const = 0;
|
||||
|
||||
int item(int i) const { return board[internal(i)]; }
|
||||
void setItem(int i, int item) { board[internal(i)] = item; }
|
||||
|
||||
// string representation of the game board.
|
||||
// set rotate to switch player sides.
|
||||
QString toString(bool rotate) const;
|
||||
bool fromString(const QString&);
|
||||
|
||||
// checks for a capture/move for particular stone in external
|
||||
// representation. human player only.
|
||||
bool canCapture1(int i) { return checkCapture1(internal(i)); }
|
||||
bool canMove1(int i) { return checkMove1(internal(i)); }
|
||||
|
||||
bool checkMove1() const;
|
||||
bool checkMove2() const;
|
||||
virtual bool checkCapture1() const = 0;
|
||||
virtual bool checkCapture2() const = 0;
|
||||
|
||||
protected:
|
||||
bool checkMove1(int) const;
|
||||
virtual bool checkCapture1(int) const = 0;
|
||||
|
||||
int level; // Current level
|
||||
int levelmax; // Maximum level
|
||||
|
||||
int turn();
|
||||
void turn(int&, bool capture=false);
|
||||
|
||||
int to;
|
||||
int board[54];
|
||||
int bestboard[54];
|
||||
int bestcounter;
|
||||
|
||||
virtual void kingMove2(int,int &)=0;
|
||||
|
||||
virtual bool manCapture2(int,int &)=0;
|
||||
virtual bool kingCapture2(int,int,int &)=0;
|
||||
|
||||
virtual bool manCapture1(int,int,bool &)=0;
|
||||
virtual bool kingCapture1(int,int,bool &)=0;
|
||||
|
||||
int internal(int) const; // Return internal board position
|
||||
};
|
||||
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue