我目前正在編寫一個Tetris應用程序。我爲我的寶石使用了一個多維整數數組,它們表示它們在多維面板字段(int [row] [colum])上的位置。設置兩個多維數組的行爲等於
我現在在這裏,我想更新我的領域顏色,當一塊石頭向下移動時。我不想循環所有的字段和所有的俄羅斯方塊石頭,而只是更新當前的石頭,所以我在最後一個位置添加了一個變量。 但我在設置這個變量時遇到一些問題!
我現在的問題是,爲什麼做這項工作:
public void moveDown()
{
for (int i = 0; i < location.Length; i++)
{
last_location[i][0] = location[i][0];
last_location[i][1] = location[i][1];
location[i][0] += 1;
}
}
但這並不:這裏是
public void moveDown()
{
last_location = location;
for (int i = 0; i < location.Length; i++)
{
location[i][0] += 1;
}
//last_location got also updated??
}
的問題,該循環中,last_location竟完全相同的後值作爲位置變量,之後變爲! 爲什麼? 在此先感謝!
什麼類型的'last_location'和' location'? 'INT [] []'? – Jodrell 2013-04-23 11:41:20
是的,他們都是int [] []! – Yami 2013-04-23 11:41:50
你給'last_location'一個參考'location' – DGibbs 2013-04-23 11:41:58