gpt4 book ai didi

c++ - 在初始化二维数组然后将其发送给函数时遇到一些问题

转载 作者:行者123 更新时间:2023-11-28 05:54:27 25 4
gpt4 key购买 nike

我正在制作一个 TicTacToe 程序,我正在尝试使用 OOP 技术。在我的“棋盘”类中,我希望该程序能够存储可以赢得一组 Action 的每种方式。

我希望这可以在这里得到证明:

Board.h

#pragma once

class Board
{
private:
int winningRows[8][3]; //Variable in question

public:
static const char X = 'X'; //Game piece 'X'
static const char O = 'O'; //Game piece 'O'
static const char EMPTY = ' '; //Empty game piece
static const char TIE = 'T'; //Game is tie
static const char NOONE = 'N'; //Nobody has won game yet
static const int numbOfSquares = 9; //Number of squares on the board

int InitializeWinningCombinations();
void FindWinner();
};

Board.cpp

 #include "stdafx.h"
#include "Board.h"

int Board::InitializeWinningCombinations()
{
/*
The playing board
0, 1, 2
3, 4, 5
6, 7, 8
*/
//All possible ways player can win game
winningRows[8][3] = {
//Horizontal
{0, 1, 2},
{3, 4, 5},
{6, 7, 8},
//Vertical
{0, 3, 6},
{1, 4, 7},
{2, 5, 8},
//Diagonal
{2, 4, 6},
{0, 4, 8}
};

//return winnigRows[8][3];
}


void Board::FindWinner()
{
//I am wanting to get the variable here so I can play around with it later.
int winningRows = InitializeWinningCombinations();
}

我可以在“FindWinnner”函数中使用“winningRows”变量,但根据我的理解,最好尽可能抽象并将其作为“Board”类的成员

感谢您的宝贵时间。

最佳答案

winningRows[8][3] = {
//Horizontal
{0, 1, 2},
{3, 4, 5},
{6, 7, 8},
//Vertical
{0, 3, 6},
{1, 4, 7},
{2, 5, 8},
//Diagonal
{2, 4, 6},
{0, 4, 8}
};

尝试的数组赋值不是初始化并且无法完成。您可以在构造函数中初始化数组,例如

Board() : winningRows{
//Horizontal
{0, 1, 2},
{3, 4, 5},
{6, 7, 8},
//Vertical
{0, 3, 6},
{1, 4, 7},
{2, 5, 8},
//Diagonal
{2, 4, 6},
{0, 4, 8}
} {}

Live Example

关于c++ - 在初始化二维数组然后将其发送给函数时遇到一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34498328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com