如何更新游戏板? C ++

时间:2018-12-18 17:47:06

标签: c++ visual-c++ c++17

我正在尝试制作地牢爬行式游戏,并且我有这段代码来创建游戏板。我使用的是“ F”作为结束点,使用的是“ P”作为播放器。

    void Gameboard::CreateGameboard()
{
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)
        {
         GameGrid[i][j] = 'x';
        }
    }
    cout << "  0 1 2 3 4 5 6 7 8 9 10" << endl;
    cout << " +---------------------+" << endl;
    for (int i = 0; i < 10; i++)
    {
        cout << " " << "|" << GameGrid[i][0];
        for (int j = 0; j < 10; j++)
        {
            if (i == Spawn[0] && j == Spawn[0])
            {
                GameGrid[0][0] = 'P';
            }
            cout << " " << GameGrid[i][j];
        }
        cout << "|" << endl;
    }
    cout << " +---------------------+" << endl;
}

我面临的问题是。 “ P”被放置在电路板的前两个插槽中,不确定原因。以及我将如何随着玩家的移动来更新董事会?我有一个带有x,y位置变量的Player类,我的想法是根据它们的去向递增/递减。每次移动后是否需要重新打印整个电路板?

1 个答案:

答案 0 :(得分:0)

绘制您的木板。

 for (int i = 0; i < 10; i++)
    {
        cout << " " << "|" << ***GameGrid[i][0]***;
        for (int j = 0; j < 10; j++)
        {
            cout << " " << GameGrid[i][j];
        }
        cout << "|" << endl;
    }

您先打印出该行的第一项,然后再打印整行,包括第一项。因此每一行都将第一项加倍。

关于第二个问题,清除屏幕正是您要做的。如果您使用的是Windows,则可以使用system(“ cls”);。以“清除”控制台,然后重新绘制。我建议将电路板图纸和电路板创建置于不同的功能中。