我的任務是使用數組在我的編程類中創建一個Sudoku遊戲。我正在用C++創建一個數獨遊戲,我需要顯示遊戲板。我如何顯示一個數組與charcters分隔?
我做了一個非常凌亂嘗試顯示9x9陣列與「 - 」之間的3x3廣場。
代碼編譯但板的顯示已關閉,「 - 」位於它不應該放置的位置,有時不應該放在該位置。
我對C++相當陌生,感謝您的幫助!以下是我對顯示功能:
for (int x = 0; x < 11; x++)
{
for (int y = 0; y < 11; y++)
{
if(board[x][y] == 0)
{
cout << setw(2) << " ";
}
else
{
if (x > 3 && x < 7 && y > 3 && y < 7 && board[x-1][y-1] != 0)
{
cout << setw(2) << board[(x-1)][(y-1)] << " ";
}
else if (x > 3 && x < 7 && y < 3 && board[x-1][y] != 0)
{
cout << setw(2) << board[(x-1)][(y)] << " ";
}
else if (x > 7 && y < 3 && board[x-2][y] != 0)
{
cout << setw(2) << board[(x-2)][(y)] << " ";
}
else if (x < 3 && y > 3 && y < 7 && board[x][y-1] != 0)
{
cout << setw(2) << board[(x)][(y-1)] << " ";
}
else if (x < 3 && y > 7 && board[x][y-2] != 0)
{
cout << setw(2) << board[(x)][(y-2)] << " ";
}
else if (x > 3 && x < 7 && y > 7 && board[x-1][y-2] != 0)
{
cout << setw(2) << board[(x-1)][(y-2)] << " ";
}
else if (x > 7 && y > 7 && board[x-2][y-2] != 0)
{
cout << setw(2) << board[(x-2)][(y-2)] << " ";
}
else if (x > 7 && y > 3 && y < 7 && board[x-2][y-1] != 0)
{
cout << setw(2) << board[(x-2)][(y-1)] << " ";
}
else if (x < 3 && y < 3)
{
cout << setw(2) << board[x][y] << " ";
}
else
{
cout << setw(2) << "-" << " ";
}
}
}
cout << endl;
}
找出程序不工作的最佳方法是使用**調試器**。 –
你說你的程序是一個9x9的數組,那麼爲什麼你的for循環從0到11? – kfsone
您需要將_view_數據與_model_分開。董事會應該存儲爲整數,這就是數獨數字。 9x9網格,具體來說。然後,你應該寫一個函數來把這個網格轉換成你想要的格式。 – Tanner