视觉 使用 c++ 将棋子放置在连接四游戏中

visual Placing a piece in a connect four game using c++

本文关键字:连接 游戏 使用 c++ 棋子 视觉      更新时间:2023-10-16

好的,所以我有一个家庭作业,我不知道从哪里开始这个函数。

bool placePiece(char** pBoard, int colSize, int rowSize, int columnSelection, char player)

该功能是将一个由 char player 表示的棋子放置在游戏板 char** pBoard(由 colSize 和 rowSize 制成的 2dArray)上,该功能是将玩家棋子放在玩家回合期间选择的列的底部。 此外,如果一个片段已经在列的底部,它将该片段放在该列的顶部,如果列已满,它将返回 false。

遇到的最大问题是我真的不明白我应该如何使用 pBoard。

不是找人为我做这件事,而只是为了帮助我走上正确的道路。

要解决这个问题,你需要了解数组和循环。签名中的第一个参数是一个包含电路板数据的数组(接下来的两个参数是它的维度) - 您需要访问columnSelection位置的第一个元素并将其设置为player参数的值。返回值应指示操作是否成功。

bool placePiece(char** pBoard, int colSize, int rowSize, int columnSelection, char player) {
  if (columnSelection >= colSize) {
    /* invalid column */
    return false;
  }
  for (size_t i = 0; i < rowSize; ++i) {
    /* loop to go over all rows - starting with 0 */
    if (pBoard[columnSelection][i] == 0) {
      /* find first empty row and set it to 'player' value */
      pBoard[columnSelection][i] = player;
      return true;
    }
  }
  /* no free row found -> all rows already set*/
  return false;
}

此代码假定数组中的列行顺序从第 0 行向上,但您应该了解大致概念。