Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用txt做一个战舰板_C++ - Fatal编程技术网

C++ 用txt做一个战舰板

C++ 用txt做一个战舰板,c++,C++,我需要一些非常大的帮助来解决这件事 这是我的板和播放器课程: class Board { public: Board(const string &filename); //bool putShip(const Ship &s); void moveShips(); //bool attack(const Bomb &b); void display()const; void show()const; void ini

我需要一些非常大的帮助来解决这件事

这是我的
播放器
课程:

class Board {
public:
    Board(const string &filename);
    //bool putShip(const Ship &s);
    void moveShips();
    //bool attack(const Bomb &b);
    void display()const;
    void show()const;
    void initializeGrid();

private:
    int numLines, numColumns;
    //vector <Ship> ships;
    vector <vector<int> > board;
};

class Player{
public:
    Player(string playerName, string boardFileName);
    void showBoard() const;
    //Bomb getBomb() const;
    //void attackBoard(const Bomb &b);
private:
   string name;
   Board board;
};
我已经开发了一个函数,可以读取10并将其保存在
numLines
numColumns

Board::Board(const string &filename){
    string tmp;
    ifstream config;
    config.open(filename.c_str()); 

    if (config.is_open()) {
        config >> tmp >> numLines >> tmp >> numColumns;
    }
}
但是现在呢?我怎样才能为玩家制作一个棋盘,尺寸在棋盘上指定


有什么帮助吗?我真的很感谢大家的帮助,这可以挽救我的学期。谢谢大家并致以最良好的问候。

好吧,类的定义说,电路板是一个整数向量的向量

您需要创建numcolumns int的numlines向量,并将它们存储在板中。(读取std::vector)

我假设每个int表示该单元格的内容。您必须决定每个值的含义——或者说类设计者已经决定了。因为我们看不到我们不知道的其他方法,所以“为玩家制作棋盘”本质上意味着创建棋盘类的实例,它是玩家类的私有成员。您已经在Player类中声明了该对象,因此只需要实例化它。您可以创建指向该类的指针,然后取消引用该指针。例如:

Foo *f = new Foo(/*params*/);
foo = *f; 

假设“FoO”已经被声明为私有成员。

首先,使用“Resith'())方法初始化从文件中得到的维度的“板”变量。< /P>这是您的“最终C++项目”,这是您所得到的?下学期试着去上课并做家庭作业。Board*f=newboard(“configp1.txt”);董事会=*f;像这样?我不想给你答案,你应该试试,测试一下你的程序。

Foo *f = new Foo(/*params*/);
foo = *f;