我在做一個excersise,這是一個遊戲。你是矮人,石頭在你身上墜落。出於某種原因,我不能簡單地讓石頭增加。增加列表錯誤中的變量
我使用下面的循環:
for (int i = 0; i < stones.Count; i++)
{
stones[i].y++;
PrintOnPosition(stones[i].x, stones[i].y, stones[i].c, stones[i].color);
}
我在做一個excersise,這是一個遊戲。你是矮人,石頭在你身上墜落。出於某種原因,我不能簡單地讓石頭增加。增加列表錯誤中的變量
我使用下面的循環:
for (int i = 0; i < stones.Count; i++)
{
stones[i].y++;
PrintOnPosition(stones[i].x, stones[i].y, stones[i].c, stones[i].color);
}
我假定該Stone
類型(假設有一個與這樣的名稱)是struct
,所以值類型。以這樣的方式做增量,你只是增加一份價值,而不是實際值你感興趣的
有許多方式來解決這個問題,例如:
add方法MoveDown
到結構:
public struct Stone
{
int y = 0;
public void MoveDown() {
y++;
}
}
所以在這之後你的代碼可能是這樣的:
for (int i = 0; i < stones.Count; i++)
{
stones[i].MoveDown();
PrintOnPosition(stones[i].x, stones[i].y, stones[i].c, stones[i].color);
}
你是對的。現在我按照你的說法做了,但由於某種奇怪的原因,y沒有更新。 – frostblooded
是屬性還是字段? – Tigran
你有沒有嘗試像這樣做?
stones[i].y += 1;
與'++'有什麼相同之處...... –
我是5'11,爲什麼你叫我矮人:P? :D –
什麼是錯誤?你能展示'Stone'類的代碼嗎? –
我想,你需要分享'石頭'循環和屬性y。 –