2012-01-06 77 views
-1

我正在爲一個班級做一些工作,並且我正在用ASCII構建太空入侵者遊戲。 我知道我可以使用對象做更好的代碼,但在我的情況下,我無法使用它! 我也知道我在代碼上有其他錯誤,但我只想知道答案!太空侵略者ASCII,拍攝停止

當我拍攝(按空間),然後我再次拍攝,如果第一次拍攝不與外星人相撞,第一次拍攝就停止!我真的不知道爲什麼!

我有意見和葡萄牙語變種,但如果你不明白的東西,只是問!

代碼:http://pastie.org/private/fbnjo8vczkxq6quoem6tig

在線:http://www.tomahock.com/Projecto-LabMM3/spaceInvaders.html

附:我知道這不是有史以來最好的代碼!這是一個alpha版本,還有很多工作要做!

+1

嘗試代碼評論:http://codereview.stackexchange.com/ – 2012-01-06 18:48:27

+1

它看起來像很多努力。但我懷疑輸出值!它非常緩慢。爲什麼不使用jquery動畫,並製作一個遊戲,這將是非常用戶友好和眼睛糖果 – zod 2012-01-06 18:54:27

+0

@zod我沒有通過它..會嘗試它!謝謝! – Tomahock 2012-01-06 19:24:51

回答

1

您應該維護一個拋射物列表並更新整個列表中的每個遊戲迭代。看起來你只是更新當前的彈丸,而且一旦你射擊了它,即使它們應該更新,它也會忽略所有以前的彈丸。這意味着每次迭代都必須檢查碰撞,更新位置並檢查列表中每個拋射體的屏幕。

+0

我的vars tirosT []包含所有由setInterval調整的定時器,而tiros []是tiros的id。而且我會在彈丸的一舉一動中檢查它是否存在問題! – Tomahock 2012-01-06 19:24:34

+1

你需要檢查所有炮彈的一舉一動,而不僅僅是最後一炮。 – ClickerMonkey 2012-01-06 19:26:04