当前位置: 首页>>代码示例>>C++>>正文


C++ Chess::setPieceCaptured方法代码示例

本文整理汇总了C++中Chess::setPieceCaptured方法的典型用法代码示例。如果您正苦于以下问题:C++ Chess::setPieceCaptured方法的具体用法?C++ Chess::setPieceCaptured怎么用?C++ Chess::setPieceCaptured使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Chess的用法示例。


在下文中一共展示了Chess::setPieceCaptured方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: isMoveValid

//------------------------------------------------------------------------------
bool Piece::isMoveValid(int src_row, int src_col,
                        int dest_row, int dest_col,
                        Piece* game_area[8][8], Chess& game_control)
{
  Piece* dest_area = game_area[dest_row][dest_col];

  if((dest_area == NULL) || (piece_color_ != dest_area->getColor()))
  {
    bool ret = areSquaresLegal(src_row, src_col, dest_row, dest_col, game_area,
                               game_control);

    if(ret == false && game_control.getErrorCode() != ERROR_PIECE_ON_WAY)
    {
      game_control.setErrorCode(ERROR_TARGET_NOT_REACHABLE);
    }

    game_control.setPieceCaptured(false);

    if((ret == true) && (dest_area != NULL) &&
       (piece_color_ != dest_area->getColor()))
    {
      game_control.setPieceCaptured(true);
    }

    return ret;
  }
  else
  {
    bool ret = areSquaresLegal(src_row, src_col, dest_row,
                               dest_col, game_area,
                               game_control);

    if(ret == false && game_control.getErrorCode() != ERROR_PIECE_ON_WAY)
    {
      game_control.setErrorCode(ERROR_TARGET_NOT_REACHABLE);
    }
    else
    {
      game_control.setErrorCode(ERROR_OWN_PIECE_ON_TARGET);
    }
  }

  // check if the player goes to a square, where his own piece is on
  // but also another piece is on the way
  if((dest_area != NULL) && (piece_color_ == dest_area->getColor()))
  {
    areSquaresLegal(src_row, src_col, dest_row, dest_col, game_area,
                    game_control);
  }

  return false;
}
开发者ID:hakan0xFF,项目名称:chess,代码行数:53,代码来源:Piece.cpp


注:本文中的Chess::setPieceCaptured方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。