我想用C#做我自己的Snake遊戲。我已經開始了幾次(比如2或3次),但是之間的差距太大了,所以看起來更容易編寫新的代碼,然後嘗試理解現有的代碼(我知道,因此評論存在,但有時我進入編碼的方式,完全忘記評論)。
所以現在我想做最後的嘗試。我對幾乎所有的事情都有一些想法,但我不知道我怎麼能弄清楚蛇的最後一個畫板是什麼!一般來說,蛇身體由許多PictureBox組成,每次它吃最後添加一個PictureBox的食物。
爲了將蛇移動到屏幕上,我想將最後一個PictureBox(在蛇體的末端)移動到蛇的前面,以便它變成蛇頭。正文會由代碼生成,因此要跟蹤我可以使用列表的所有框。但我不知道如何才能找出哪個盒子是最後一個盒子,如果我發現,我怎麼才能將這個盒子移動到蛇的開頭。
我希望你能給的每一個提示,
感謝您花時間閱讀本文! :)如何移動最後的picturebox爲蛇遊戲
回答
我不知道如何找出哪個盒子是最後一個盒子,如果我發現了,我怎麼才能將這個盒子移動到蛇的開頭。
可以使用任何集合(List,Queue,Stack等)或數組來跟蹤對象的順序。你的情況聽起來像是最好使用先進先出的集合。隊列按照這個原則工作。我將使用字符串來說明它是如何工作:
Queue<string> queue = new Queue<string>();
queue.Enqueue("one"); //add to queue
//queue is now ["one"]
queue.Enqueue("two"); //queue is now ["one", "two"]
queue.Enqueue("three"); //queue is now ["one", "two", "three"]
string firstString = queue.Dequeue(); //sets string to "one" and removes it from queue
//queue is now ["two", "three"]
queue.Enqueue("four"); //queue is now ["two", "three", "four"]
queue.Enqueue(queue.Dequeue()); //moves first element to the back of the queue
//queue is now ["three", "four", "two"]
Queue支持任何數據類型,你可以聲明一個PictureBox隊列來跟蹤你的蛇。
好吧,我想我通常理解隊列的事情。但是,有沒有一種方法可以按索引獲取物品?例如,我可以抓住「一個」,用「one」這個對象做一些事情,而不是將它們出列並重新排隊,以便它從頭到尾移動?並且通過對象「one」做一些事情,我可以像queue [0] .color那樣直接使用它嗎?或者類似的東西? – JDeveloper
@JDeveloper隊列只支持使用'Dequeue()'函數獲取第一個項目。如果你想訪問所有的項目,最好使用'List
好吧,列表我有點熟悉......目前我沒有可以處理VS的PC來測試它,所以我必須問:我可以用代碼調用PictureBox方法像蛇[0]。 _PictureBoxMethod_? – JDeveloper
- 1. 蛇遊戲,如何使蛇移動?
- 2. javascript蛇遊戲 - 如何移動蘋果?
- 3. 蛇(遊戲)般的移動矩形
- 4. 蛇遊戲,如何根據其方向移動蛇部分?
- 5. 蛇遊戲移動問題[javascript]
- 6. 蛇遊戲按下按鍵時,蛇的移動速度
- 7. 蛇遊戲中的蛇運動
- 8. 無法讓計數器移動(C#中帶有PictureBox的遊戲)。
- 9. 在蛇的遊戲中,如何移動一條具有不同碎片的蛇?
- 10. 如何爲蛇遊戲生成食物
- 11. c#蛇遊戲如何阻止蛇
- 12. Pygame蛇遊戲
- 13. SpriteKit遊戲:移動遊戲查看
- 14. 在蛇遊戲中確定蛇運動的錯誤行爲
- 15. 如何在遊戲轉移時重新啓動遊戲
- 16. 如何在2D遊戲中移動NSImageView?
- 17. 與allegro蛇遊戲
- 18. 蛇遊戲板C++
- 19. 移動按鈕控件的貪吃蛇遊戲
- 20. 蛇遊戲(java)中的流暢動畫?
- 21. 爲「同步」移動遊戲擴展Minimax
- 22. 如何使蟒蛇平臺遊戲
- 23. XNA遊戲如何製作蛇尾
- 24. 大會中的蛇遊戲
- 25. 移動棋牌遊戲
- 26. Seekbar遊戲時不移動
- 27. 移動遊戲對象
- 28. 移動和多人遊戲
- 29. Javascript遊戲:移動酒吧
- 30. 使蛇遊戲分數計數器和增加移動速度
如果你想用c#製作視頻遊戲,我會推薦使用類似Unity的東西。 –
我想先嚐試一些沒有引擎的簡單遊戲,然後再嘗試類似Unity或Unreal的東西;) – JDeveloper