通过读取每个字符从txt文件中显示游戏板

Displaying a Game-board from a txt file by reading in each char

本文关键字:文件 显示 游戏 txt 读取 字符      更新时间:2024-04-28

我正在尝试显示

X  XXXXXXX  XXXXX   XXXXXXXXXXXXX   XXXX
X XXXXXXXX   XXXXXXXXXXXXXXXXXXXXX   XXX
XXXXXXXXXXXXXXXXXXXXX      XXXXXXXXXXXXX
XXXF        -----      XX           XXXX
XXXXXXXXXX  XXXXXX  XXXXX          FXXXX
XXXXXXXXXX  XXXXXX  XXX XXXX  XXXX--XXXX
XXXXXXXX    XXXXXX  XXXXXXXX   XXX--XXXX
XXXXXXX  XXXXXXX    XXXXXXXXX       XXXX
XXXXXX  XXXXXXXX  XXXXX XXXXX     --XXXX
XXX   XXX  XX XX XXXXXXXXXX--XXXX
XXX  XXXX  XXXXXXXXXXXXXXXX--XXXX
XXXXXXXXXX XXXXX  XX-          XXX--XXXX
XXX  XXXXXXXXXXX  XX----XXXX      --XXXX
XXXX XXXXXF           XXXXXX     XX$XXXX
XXXXXXXXXXX          XXXXXXXXXXXXXXXXXXX

我使用的是,ROWS=15,COLS=40

for (int row = 0; row < ROWS; row++)
{
for (int col = 0; col < COLS; col++)
{
board[row][col] = inFile.get();
cout << board[row][col];
}
}

此表必须存储在字符数组中。尽管当我显示表格时,最后一行并没有完全显示。

为什么桌子摆得不对?

您可能正在尝试将换行符存储在board数组中。您需要在每个内部循环后添加一个额外的.get()来获取换行符,这样它就不会被拉入您的数组:

for (int row = 0; row < ROWS; row++)
{
for (int col = 0; col < COLS; col++)
{
board[row][col] = inFile.get();
cout << board[row][col];
}
// Pull out the newline
inFile.get();
cout << std::endl;
}