• Advertisement

Archived

This topic is now archived and is closed to further replies.

Space Invaders Logic

This topic is 6828 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Basically you would have an array of baddies like:

BYTE alien[30][5]; // X and Y aliens //

So you would have 5 rows of 30 aliens per row.

Then you would check by the column to see if they would bounce at that point. If:

alien[0][0], alien[0][1],..., alien[0][4] were all dead, then you would know you could move that extra space, continue to check by moving over to: alien[1][0], alien[1][1],..., alien[1][4] and so on...

-Geoff


Share this post


Link to post
Share on other sites
Advertisement
I'm looking for an algorithm which will help me understand the movement of the little guys in Taito's Space Invaders, ie you have approx 40 invaders on screen moving left and right, and when you clear a column, the invaders move all the way across the screen accordingly, how is it done ?

Share this post


Link to post
Share on other sites
since in space invaders, all of the bad guys move in a synchronized way, you dont have to keep track of much...

you need(at least) the following variables.

AlienCount=# of aliens currently on the screen. this is used both to determine if you have beaten the level as well as how fast the aliens should be moving. you only have to update it when an alien is hit.

LeftColumn=the column number farthest to the left with aliens still alive in it

RightColumn=the column number farthest to the right with aliens still alive in it

BottomRow=the row number farthest down with aliens still alive. this is to calculate when then aliens land.

FormationX,FormationY= the upperleft corner of where alien(0,0)-the upperleft alien- is to be placed. this reference point is used to calculate all other alien positions

Direction=1 or -1 (or some other suitable numbers), specifies which direction the formation is moving

to determine when the formation should change direction, you compare the rightmost or leftmost columns position versus certain setpoints (based on the resolution of the play area), and change the direction as needed.

anyway, thats the basic layout. there's more to it, but i'm sure you can fill in the pieces.

Share this post


Link to post
Share on other sites

  • Advertisement