【发布时间】:2013-04-04 03:26:13
【问题描述】:
我正在尝试制作棋盘游戏。我必须输入一个 .txt 文件并使其几乎成为一个网格
F.F
...
.......
SSSSSSS
SSSSSSS
SSS
SSS
然后让它出来
7 F-.-F
|\|/|
6 .-.-.
|/|\|
5 .-.-.-.-.-.-.
|/|\|/|\|/|\|
4 S-S-S-S-S-S-S
|/|\|/|\|/|\|
3 S-S-S-S-S-S-S
|\|/|
2 S-S-S
|/|\|
1 S-S-S
a b c d e f g
这在某种程度上是我目前所拥有的,但我只是迷失了如何在输入信息之间添加字符
board.h的一部分
class BoardSet {
public:
void startingBoard(std::string line, int row);
void print();
private:
char board[6][6];
};
board.cpp 的一部分
void BoardSet::startingBoard(std::string line, int row)
{
for(int i = 0; i < 7; i++)
{
board[row][i] = line[i];
}
}
void BoardSet::print()
{
int row = 7;
for(int i = 0; i < 7; i++)
{
for(int j = 0; j < 7;j++)
{
cout << board[i][j];
}
cout << endl;
}
}
main.cpp 的一部分
void initalizeBoard(istream& in, BoardSet& board)
{
string line;
int row = 0;
getline(in, line);
while(in)
{
board.startingBoard(line, row);
row++;
getline(in, line);
}
board.print();
}
我需要的只是一些指导或一个简单的例子,我可以从那里得到它,我完全被难住了,不知道该怎么做。
【问题讨论】:
-
格式好像是固定的。使用另一个数组,比如
output_board[14][13],将输入复制到新数组中的对应位置。 -
但是如何将第一个数组添加到另一个数组中并在其间添加字符?
-
如果输入文件格式像帖子中的示例一样固定,则使用
const int pos[7][7]将位置从input_board[7][7]映射到output_board[13][13];