我創建一個連接四,試圖實現拖放功能,添加到特定列中的最低行。繼承人用於板C++ 2d字符數組比較不當
Board::Board()
{
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
place[i][j] = EMP; // EMP is a const char = '-'
cout << "Initalized.\n";
}
出於某種原因在init這個代碼運行一路直到I = 1,則設置場所[1] [山口]爲* 但是當我去,以顯示這一點,它示出了*在數組的底部,所以放置[7] [col]。
此外 - >在開始放置和放置在開始時不會給我應該是' - '的輸出。
int Board::add(int player, int col)
{
char piece;
col--; // Dealing with array starting at 0, not 1
(player==1) ? piece = P1: piece = P2; // Character defining players piece
int i;
for (i = 7; i >= 0; i--)
{
cout << "this - " << this->place[i][col] << endl;
cout << "place - " << place[i][col] << endl;
if(place[i][col] == EMP)
{
cout << "Empty looks like " << place[i][col] << "\ti: " << i << endl;
place[i][col] = piece;
system("pause");
return i;
}else
{
cout << "not EMP - " << place[i][col] << endl;
system("pause");
}
}
return 0;
}
你的問題很模糊,「一路打印到1,然後做什麼?」這是一個問題的很多代碼。你能不能至少減少一點,以便能夠正常評估它。其次,你有一個功能粘貼多次,這真的讓讀者感到困惑。花一些時間解釋你的問題,你一定會得到答案 – fayyazkl
清楚地說明什麼是行不通的,什麼是預期的。你太亂了。我甚至無法弄清楚你的代碼出現了什麼問題 – fayyazkl
異常的語法,通常會寫:char piece =(player == 1)? P1:P2; –