Exemplo n.º 1
0
void menuChoise ( ){
    float flotante = 0;
    double angulo;
    switch (value){
        case 0:
            //set camera position
            gluLookAt(der, arr, z, 0.0, 0.0, 0.0, 0, 1, 0);
            break;
        case 1:
            printf("Catastrofe\n");
            textOFF = 1;
            hora += 50.0;
            aux2 = 1;
            gluLookAt(der, arr, z, 0.0, 0.0, 0.0, 0, 1, 0);
            muerte(der, arr, z);
            break;
        case 2:
            printf("Iniciar Movimiento \n" );
            textOFF = 1;
            hora += 50.0;
            gluLookAt(der, arr, z, 0.0, 0.0, 0.0, 0, 1, 0);
            break;
        case 3:
            printf("Detener Movimiento\n");
            gluLookAt(der, arr, z, 0.0, 0.0, 0.0, 0, 1, 0);
            hora  = 0.0;
            break;
        case 4:
            printf("Sol\n");
            walkFromTO (der, z, 0.0, -7.6);
            gluLookAt(der, arr, z, 0.0, 0.0, 0.0, 0, 1, 0);
            break;
        case 5:
            printf("Salir\n");
            exit(1);
            break;
    }
    printf ( "Speed = %F\n", speed);
    printf ( "( x, y,  z ) = ( %F, %F , %F)\n", der, arr, z);
    printf ( "Angulo = %F\n", angulo);
}
Exemplo n.º 2
0
int vidaymuerte(void)
{
	int coordenada[3],a,i;
	for (i=0; i<celulas_TOT; i++)
	{
		if ((*celulas[i]).vida_muerte==APOPTOSIS)
		{
			muerte(i);
			i--;
		}
		
		else if ((*celulas[i]).vida_muerte==DIVISION)
		{
			(*celulas[i]).vida_muerte=0;
			if ( search(coordenada, i) )	continue;
			a=retornar_indice(coordenada[0], coordenada[1], coordenada[2]);
			if((celulas[a] = crear_celula(coordenada[0], coordenada[1], coordenada[2])) == NULL) continue;
			espDifusivo2D[*coordenada][*(coordenada+1)][MAXGEN_SEN] = a;
		}
	}
	return(0);
}
Exemplo n.º 3
0
bool run(){

	if (getInput(&g_key))
	{
		if (g_key == 's')
		{
			g_direccion = DERECHA;
			g_personaje_actual = g_personaje_d;
			g_posxPersonaje++;
		}
		if (g_key == 'a')
		{
			g_direccion = IZQUIERDA;
			g_personaje_actual = g_personaje_i;
			g_posxPersonaje--;
		}
		if (g_key == 'd')
		{
			if (g_direccion == IZQUIERDA){
				g_direccion_bala = IZQUIERDA;
			} 	else if (g_direccion == DERECHA){
				g_direccion_bala = DERECHA;
			}
			g_balaActiva = true;
			g_posxBala = g_posxPersonaje;

		}
        if (g_key == 32)
        {
            g_muerte = false;
        }
        if (g_key == 'q')
        {
            return 0;
        }
	}
	if (g_balaActiva)
	{
		g_incrementoBala += g_frameRate*g_velBala;
		if (g_direccion_bala == DERECHA)
		{
			if (g_incrementoBala >= 1)	{ g_posxBala += 1;			g_incrementoBala = 0; }
		}
		else if (g_direccion_bala == IZQUIERDA)
		{
			if (g_incrementoBala >= 1)	{ g_posxBala -= 1;			g_incrementoBala = 0; }
		}

		if (g_posxBala > ANCHO_MUNDO || g_posxBala < 0)
			g_balaActiva = false;
	}


	if (!g_enemActivo && !g_randomSet)
	{
		g_random = rand() % 100;
		g_randomSet = true;
	}

	if (g_randomSet)
	{
		if (g_cuentaParaEnemigo == g_random)
		{
            g_direccion_enemigo = !g_direccion_enemigo;

            if (g_direccion_enemigo == DERECHA)
                g_posxEnem = ANCHO_MUNDO;
            else
                g_posxEnem = 0;

			g_enemActivo = true;

		}
		g_cuentaParaEnemigo++;
	}
	if (g_enemActivo)
	{
		g_incrementoEnem += g_frameRate*g_velEnem;

        if (g_posxEnem > ANCHO_MUNDO || g_posxEnem < 0)
        {
            ocultaEnemigos();
        }
        if (g_direccion_enemigo == DERECHA){
			if (g_incrementoEnem >= 1)
            {
                g_posxEnem -= 1;
                g_incrementoEnem = 0; 
            }
            if (g_posxEnem <= g_posxBala && g_balaActiva)
            {
                ocultaEnemigos();

                g_posxBala = 0;
                g_balaActiva = false;
            }

            if (g_enemActivo == true && g_posxEnem <= g_posxPersonaje)
            {
                ocultaEnemigos();
                muerte();
            }
        }
        else {

			if (g_incrementoEnem >= 1)	{ g_posxEnem += 1;			g_incrementoEnem = 0; }
            if (g_posxEnem >= g_posxBala && g_balaActiva)
            {
                ocultaEnemigos();

                g_posxBala = 0;
                g_balaActiva = false;
            }

            if (g_enemActivo == true && g_posxEnem >= g_posxPersonaje)
            {
                ocultaEnemigos();
                muerte();
            }
        }

	}

    return false;
}