Source Code (Use browser search to find items of interest.)
Class Index
kreversi'Game (./kdegames/kreversi/Game.h:108)
class Game {
public:
Game();
void Reset();
bool MakeMove(Move m);
bool TakeBackMove();
int GetSquare(int x, int y);
int GetScore(int player);
Move GetLastMove();
bool MoveIsLegal(Move m);
bool MoveIsPossible(int player);
bool MoveIsAtAllPossible();
int GetMoveNumber();
int GetWhoseTurn();
int GetWhoseTurnOpponent();
bool squareModified(int x, int y);
bool wasTurned(int x, int y);
private:
Position m_positions[64];
int m_movenumber;
};
kreversi'Game::Game() (./kdegames/kreversi/Game.cpp:104)
Game::Game()
{
// JAVA m_positions = new Position[61];
// JAVA m_positions[0] = new Position();
m_positions[0].constrInit();
m_movenumber = 0;
}
kreversi'Game::Reset() (./kdegames/kreversi/Game.cpp:112)
void Game::Reset()
{
// JAVA m_positions = new Position[61];
// JAVA m_positions[0] = new Position();
m_positions[0].constrInit();
m_movenumber = 0;
}
kreversi'Game::MakeMove() (./kdegames/kreversi/Game.cpp:121)
bool Game::MakeMove(Move m)
{
if (m.GetPlayer() == Score::NOBODY) return false;
if (GetWhoseTurn() != m.GetPlayer()) return false;
if (! m_positions[m_movenumber].MoveIsLegal(m)) return false;
m_positions[m_movenumber+1].constrCopy(m_positions[m_movenumber], m);
m_movenumber++;
return true;
}
kreversi'Game::TakeBackMove() (./kdegames/kreversi/Game.cpp:134)
bool Game::TakeBackMove()
{
if (m_movenumber <= 0) return false;
// JAVA m_positions[m_movenumber--] = null;
m_movenumber--;
return true;
}
kreversi'Game::GetSquare() (./kdegames/kreversi/Game.cpp:145)
int Game::GetSquare(int x, int y)
{
return m_positions[m_movenumber].GetSquare(x, y);
}
kreversi'Game::GetScore() (./kdegames/kreversi/Game.cpp:151)
int Game::GetScore(int player)
{
return m_positions[m_movenumber].GetScore(player);
}
kreversi'Game::GetLastMove() (./kdegames/kreversi/Game.cpp:157)
Move Game::GetLastMove() { return m_positions[m_movenumber].GetLastMove(); }
kreversi'Game::MoveIsLegal() (./kdegames/kreversi/Game.cpp:160)
bool Game::MoveIsLegal(Move m)
{
return m_positions[m_movenumber].MoveIsLegal(m);
}
kreversi'Game::MoveIsPossible() (./kdegames/kreversi/Game.cpp:166)
bool Game::MoveIsPossible(int player)
{
return m_positions[m_movenumber].MoveIsPossible(player);
}
kreversi'Game::MoveIsAtAllPossible() (./kdegames/kreversi/Game.cpp:172)
bool Game::MoveIsAtAllPossible()
{
return m_positions[m_movenumber].MoveIsAtAllPossible();
}
kreversi'Game::GetMoveNumber() (./kdegames/kreversi/Game.cpp:178)
int Game::GetMoveNumber() { return m_movenumber; }
kreversi'Game::GetWhoseTurn() (./kdegames/kreversi/Game.cpp:181)
int Game::GetWhoseTurn()
{
if (m_movenumber <= 0) return Score::BLACK;
int player = GetLastMove().GetPlayer();
int opponent = Score::GetOpponent(player);
if (MoveIsPossible(opponent)) return opponent;
if (MoveIsPossible(player)) return player;
return Score::NOBODY;
}
kreversi'Game::GetWhoseTurnOpponent() (./kdegames/kreversi/Game.cpp:195)
int Game::GetWhoseTurnOpponent() {
int color = GetWhoseTurn();
if(color == Score::NOBODY)
return Score::NOBODY;
else if(color == Score::BLACK)
return Score::WHITE;
else
return Score::BLACK;
}
kreversi'Game::squareModified() (./kdegames/kreversi/Game.cpp:205)
bool Game::squareModified(int x, int y) {
if(GetMoveNumber() == 1)
return TRUE;
else
return (bool)(m_positions[m_movenumber].GetSquare(x, y) != m_positions[m_movenumber-1].GetSquare(x, y));
}
kreversi'Game::wasTurned() (./kdegames/kreversi/Game.cpp:212)
bool Game::wasTurned(int x, int y) {
if(GetMoveNumber() == 0)
return FALSE;
else {
int c1 = m_positions[m_movenumber-1].GetSquare(x, y);
int c2 = m_positions[m_movenumber].GetSquare(x, y);
if(c1 == Score::NOBODY)
return FALSE;
else if(c1 == c2)
return FALSE;
else
return TRUE;
}
}