0
我會做到這一點。現在有一個初級水平遊戲im編碼的問題。我有2個列表來存儲遊戲中的「對象」。一個是「鑽石」可推塊,將被移到「目標」上。一旦所有鑽石都達到目標,水平應該改變。我目前使用「GameStates」來加載每個級別。以下是我遇到問題的代碼片段。目前發生的事情是,遊戲將允許我將「鑽石」推到「目標」上,但是一旦我這樣做,遊戲狀態將不會改變。不知道我錯過了什麼 - 任何幫助表示讚賞。感謝您的時間!基於if語句更改GameState?
void Level1Update(KeyboardState cKB, KeyboardState oKB)
{
for (int i = 2; i < diamondlist.Count; i++)
{
if ((Goallist[i].Position == diamondlist[i].Position))
{
CurrentGameState = GameState.Level2;
}
}
}
我看到的一個潛在問題是在你的條件下,你確定鑽石的位置是否與目標位置完全相同?多描述一下游戲會有所幫助。 – Ryan 2013-05-01 21:40:37
地圖基本上是一個16x16的瓷磚佈局。該劇可以將N,S E或W移動一個瓦片。當玩家與鑽石碰撞時,鑽石會沿相應的方向移動一個瓷磚空間。就目前而言,「目標」也在一個平鋪中。我的目標是讓一旦鑽石與目標位於同一平面,下一個遊戲狀態應該加載 - 如果這樣做有意義? – 2013-05-01 21:43:46
爲什麼循環從i = 2開始?你是否知道Diamond [i]會覆蓋Goal [i],或者任何鑽石都可以進入任何目標? – 2013-05-01 21:46:10