Example #1
0
//Move os invaders baseado na sua direção atual
//Move invaders based on there current direction
int move_invaders(int speed) {

    set_invaders_speed();

    int i,j;

    switch (invaders.direction) {

    case left:

        for (i = 0; i < 10; i++) {

            for (j = 0; j < 5; j++) {

                if (invaders.enemy[j][i].alive == 1) {

                    if (invaders.enemy[j][i].hitbox.x <= 0) {

                        invaders.direction = right;
                        move_invaders_down();
                        return 0;
                    }

                    if (invaders.state_time + invaders.state_speed < SDL_GetTicks()) {

                        invaders.state_time = SDL_GetTicks();

                        if (invaders.state == 1) {

                            invaders.state = 0;

                        } else {

                            invaders.state = 1;
                        }
                    }
                    //altera a velocidade em numero de pixels dos invaders
                    //move invader speed number of pixels
                    invaders.enemy[j][i].hitbox.x -= invaders.speed;
                }
            }
        }

        break;

    case right:

        for (i = 9; i >= 0; i--) {

            for (j = 0; j < 5; j++) {

                if (invaders.enemy[j][i].alive == 1) {

                    if (invaders.enemy[j][i].hitbox.x + E_WIDTH >= WIDTH) {

                        invaders.direction = left;
                        move_invaders_down();
                        return 0;
                    }

                    if (invaders.state_time + invaders.state_speed < SDL_GetTicks()) {

                        invaders.state_time = SDL_GetTicks();

                        if (invaders.state == 1) {

                            invaders.state = 0;

                        } else {

                            invaders.state = 1;
                        }
                    }

                    invaders.enemy[j][i].hitbox.x += invaders.speed;
                }
            }
        }

        break;

    default:
        break;

    }

    return 0;
}
Example #2
0
//Move invaders based on there current direction
int move_invaders(int speed) {
	
	set_invaders_speed();
	
	int i,j;

	switch (invaders.direction) {
		
		case left:
		
			for (i = 0; i < ROW_INVADERS; i++) {
			
				for (j = 0; j < COL_INVADERS; j++) {
				
					if (invaders.enemy[i][j].alive == 1) {
		
						if (invaders.enemy[i][j].hitbox.x <= 0) {
						
							invaders.direction = right;
							move_invaders_down();
							return 0;
						}
						
						if (invaders.state_time + invaders.state_speed < SDL_GetTicks()) {
						
							invaders.state_time = SDL_GetTicks();
							
							if (invaders.state == 1) {
								
								invaders.state = 0;

							} else {
								
								invaders.state = 1;
							}
						}
						
						//move invader speed number of pixels
						invaders.enemy[i][j].hitbox.x -= invaders.speed;
					}
				}
			}

			break;

		case right:
			
			for (i = 0; i < ROW_INVADERS; i++) {
			
				for (j = 0; j < COL_INVADERS; j++) {
				
					if (invaders.enemy[i][j].alive == 1) {
					
						if (invaders.enemy[i][j].hitbox.x + E_WIDTH >= WIDTH) {
					
							invaders.direction = left;
							move_invaders_down();
							return 0;
						}
		
						if (invaders.state_time + invaders.state_speed < SDL_GetTicks()) {
						
							invaders.state_time = SDL_GetTicks();

							if (invaders.state == 1) {
								
								invaders.state = 0;

							} else {
								
								invaders.state = 1;
							}
						}
						
						invaders.enemy[i][j].hitbox.x += invaders.speed;
					}
				}
			}

			break;

		default:
			break;

	}

	return 0;
}