Example #1
0
void move_tropa (Alien alien[COLUNAS_TROPA][LINHAS_TROPA], DIRECAO direcao) {
	if (direcao == ESQUERDA) {
		for (int i = 0; i < COLUNAS_TROPA; i++) {
			for (int j = 0; j < LINHAS_TROPA; j++) {
				move_alien (&alien[i][j], ESQUERDA);
			}
		}
	}

	if (direcao == DIREITA) {
		for (int i = 0; i < COLUNAS_TROPA; i++) {
			for (int j = 0; j < LINHAS_TROPA; j++) {
				move_alien (&alien[i][j], DIREITA);
			}
		}
	}

	if (direcao == CIMA) {
		for (int i = 0; i < COLUNAS_TROPA; i++) {
			for (int j = 0; j < LINHAS_TROPA; j++) {
				move_alien (&alien[i][j], CIMA);
			}
		}
	}

	if (direcao == BAIXO) {
		for (int i = 0; i < COLUNAS_TROPA; i++) {
			for (int j = 0; j < LINHAS_TROPA; j++) {
				move_alien (&alien[i][j], BAIXO);
			}
		}
	}

}
void move_aliens(Aliens* aliens){
  int mudou = 0;
  for(int i = 0; i < N_LINHAS; i++)
    for(int j = 0; j < N_COLUNAS; j++){
      if(aliens->distancia_direita < 15 || aliens->distancia_esquerda < 15){
        muda_direcao_alien(&aliens->matriz_aliens[i][j]);
        mudou = 1;
      }
      move_alien(&aliens->matriz_aliens[i][j]);
    }

  if(mudou)
    muda_direcao_aliens(aliens);

  switch(aliens->direcao){
    case A_DIREITA:
      aliens->distancia_esquerda += VELOCIDADE_ALIEN;
      aliens->distancia_direita -= VELOCIDADE_ALIEN;
    break;
    case A_ESQUERDA:
      aliens->distancia_esquerda -= VELOCIDADE_ALIEN;
      aliens->distancia_direita += VELOCIDADE_ALIEN;
    break;
  }
}
Example #3
0
void Alien::draw_alien(GLfloat camerax, GLfloat cameraz)
{
	calculate_degrees(camerax, cameraz);

	glPushMatrix();
	glTranslatef(mposx, 0, mposz);
	glRotatef(mdegrees, 0, 1, 0);

	glColor4f(1,1,1, 1);

	glEnable(GL_TEXTURE_2D);
	glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	glEnable (GL_BLEND);
    glBindTexture(GL_TEXTURE_2D, malien);
	glBegin(GL_QUADS);
	glTexCoord2f(0, 0); glVertex3f(5,  -20, 0);
	glTexCoord2f(0, 1); glVertex3f(5,   8, 0);
	glTexCoord2f(1, 1); glVertex3f(-5,  8, 0);
	glTexCoord2f(1, 0); glVertex3f(-5, -20, 0);
	glEnd();
	glDisable (GL_BLEND);
	glDisable(GL_TEXTURE_2D);
	//glDisable(GL_BLEND);
	//glDepthMask(GL_TRUE);
	glPopMatrix();

	// Give new position to alien
	move_alien(camerax, cameraz);

}