2012-01-06 4 views
-1

私はクラスでいくつかの仕事をしています。私はスペースインベーダーゲームをASCIIで構築しています。 オブジェクトを使ってコードを改善することができますが、私の場合は使用できません! 私はコード上に他のエラーがあることも知っていますが、私は答えを知りたいだけです!スペースインベーダーASCII、シュートストップ

私が(スペースを押して)撃つと再び撃つと、最初の撃墜が宇宙人と衝突しないと、最初の撃墜は止まる!なぜ私は本当に知りません!

私はポルトガル語でコメントとvarsを持っていますが、あなたが何かを理解していなければ、尋ねてください!

コード:http://pastie.org/private/fbnjo8vczkxq6quoem6tig

オンライン:http://www.tomahock.com/Projecto-LabMM3/spaceInvaders.html

P.S.私はこれが最高のコードではないことを知っています!それはまだアルファ版のロットです!

+1

try code review:http://codereview.stackexchange.com/ –

+1

これは多くの努力のようです。しかし、私は出力が価値がないと思う!非常に遅いです。なぜあなたはjqueryのアニメーションを使用しないで、非常にユーザーフレンドリーで目のキャンディーになるゲームを作る – zod

+0

@zodそれは..それをしようとしている!ありがとう! – Tomahock

答えて

1

プロジェクタイルのリストを維持し、各ゲームの繰り返しごとにリスト全体を更新する必要があります。現在の発射体を更新しているように見えます。一度射撃すれば、それを更新する必要があるにもかかわらず、以前のものをすべて無視します。つまり、リスト内のすべての発射物の衝突をチェックし、位置を更新し、画面のオフをチェックする必要があります。

+0

my vars tirosT []には、setIntervalによってtiggerdされたすべてのタイマーが含まれ、tiros []はtirosへのIDです。私は発射物が動くたびに衝突をチェックします! – Tomahock

+1

最後の1発だけでなく、すべての発射物の移動ごとに衝突をチェックする必要があります。 – ClickerMonkey