2015-04-28 66 views
-2

讓一艘戰艦董事會,我需要整理這個東西出來從一個txt

這裏是一些真正巨大的幫助是我BoardPlayer類:

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; 
}; 

這不是我做的,這些都是班我需要在我最後的C++項目上實現。

我與做董事會掙扎(開發功能void Player::viewBoard()

txt文件將是這樣的

Board 10x10 

,我已經開發了一個功能,可同時讀取10的並保存在numLinesnumColumns

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

    if (config.is_open()) { 
     config >> tmp >> numLines >> tmp >> numColumns; 
    } 
} 

但現在該怎麼辦?我怎樣才能爲板子上指定尺寸的玩家制作一個棋盤?

任何幫助?我非常感謝任何幫助的人,這可以節省我的學期。謝謝大家,最誠摯的問候。

+2

這對於你的「最終的C++項目」,這是儘可能多的? : - \ 下學期嘗試參加課程並做功課。 – DavidS

回答

0

以及類定義說,董事會是整數

你需要讓爲numColumns整數的numlines載體,並將其存儲在電路板的載體的載體。 (在std :: vector上閱讀)

我假設每個int表示該單元格的內容。你必須決定每個價值的含義 - 或者班級設計師是否已經決定。由於我們不能看到其他我們不知道的方法

0

「爲玩家制作遊戲板」本質上意味着您創建了一個Board類的實例,該類是Player類的私有成員。你已經有了在Player類中聲明的對象,所以你只需要實例化它。您可以創建一個指向該類的指針,然後取消引用該指針。例如:

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

假設「foo」已被聲明爲私有成員。

+0

Board * f = new Board(「configp1.txt」); \t board = * f; 是否這樣? – Verance

+0

我不想給你答案,你應該試試並測試你的程序。 – resistancefm