コード例 #1
0
void Administrador::ventanaPrincipal()
{

    sf::Texture text_fondo, txt_lateral, txt_nuevaRuta, text_consultar, text_eliminar, text_salir;
    sf::Sprite back_fondo, back_lateral, back_nuevaRuta, back_consultar, back_eliminar, back_salir;

    sf::Texture txt_puntos[23];
    sf::Sprite back_puntos[23];

    window.create(sf::VideoMode(1280,680),"Transportes Inter-Urbanos");
    window.setPosition(sf::Vector2i(50,0));

    text_fondo.loadFromFile("mapa.png");
    back_fondo.setTexture(text_fondo);

    txt_lateral.loadFromFile("barra_lateral.png");
    back_lateral.setTexture(txt_lateral);
    back_lateral.setPosition(1100,0);

    txt_nuevaRuta.loadFromFile("botones/nueva_ruta.png");
    back_nuevaRuta.setTexture(txt_nuevaRuta);
    back_nuevaRuta.setPosition(1105,60);

    text_consultar.loadFromFile("botones/consultar_ruta.png");
    back_consultar.setTexture(text_consultar);
    back_consultar.setPosition(1105,130);

    text_eliminar.loadFromFile("botones/eliminar_ruta.png");
    back_eliminar.setTexture(text_eliminar);
    back_eliminar.setPosition(1105,200);

    text_salir.loadFromFile("botones/btnSalir.png");
    back_salir.setTexture(text_salir);
    back_salir.setPosition(1105,270);

    ruta->llenarPuntos();
    ruta->setAdyacencias();
    ruta->setCaminos();
    ruta->setPesos();
    ruta->rutasPosibles();

    while(window.isOpen())
    {
        sf::Event event;
        while(window.pollEvent(event))
        {
            mouse = window.mapPixelToCoords(sf::Mouse::getPosition(window));
        }

        if(utility->clickSprite(back_nuevaRuta,mouse))
        {
            crearRuta();
        }

        if(utility->clickSprite(back_consultar,mouse))
        {
            ventanaConsultarCaminos();
        }

        if(utility->clickSprite(back_eliminar,mouse))
        {
            ventanaEliminar();
        }

        if(utility->clickSprite(back_salir,mouse))
        {
            window.close();
        }

        window.draw(back_fondo);
        window.draw(back_lateral);
        window.draw(back_nuevaRuta);
        window.draw(back_consultar);
        window.draw(back_eliminar);
        window.draw(back_salir);
        dibujarPuntos(txt_puntos, back_puntos);
        drawLineas();
        window.display();
    }
}
コード例 #2
0
ファイル: practica02.c プロジェクト: pabposta/pang3d
void display (void)
{

	bola *aux = m->lista;
	puntos *auxPuntos = m->ls;
	rayo *auxRayo = m->lr;
	marca *auxMarca = m->lw;
	GLuint i;
	unsigned char ganas[] = "ganas";
	unsigned char pierdes[] = "pierdes";
	unsigned char adicional[] = "espacio para jugar   escape para salir";
	unsigned char textoPausa[] = "pausa";
	unsigned char pausaAdicional[] = "p o espacio para continuar";
	unsigned char puntuacionTexto[] = "00000000000";
	unsigned char aciertosTexto[] = "00000/00000";
	unsigned char nivelTexto[]  = "000000";
	char auxTexto[12];


	glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glMatrixMode (GL_MODELVIEW);
	
	// dibujar la pared
	dibujarPared (m->p);
	
	// dibujar las bolas
	while (aux)
	{

		dibujarBola (aux); 
		aux = aux->siguiente;

	}
	
	// dibujar los rayos
	while (auxRayo)
	{	
		
		dibujarRayo (auxRayo);
		auxRayo = auxRayo->siguiente;

	}
	
	// dibujar las puntuaciones
	while (auxPuntos)
	{

		dibujarPuntos (auxPuntos);
		auxPuntos = auxPuntos->siguiente;

	}

	// dibujar las marcas en las paredes
	while (auxMarca)
	{

		dibujarMarca (auxMarca);
		auxMarca = auxMarca->siguiente;

	}

	// dibujar al jugador
	if (posicionCamara != 0) // en primera persona no se dibuja
		dibujarJugador (m->j);
		
	// mover la camara
	moverCamara (m->c);	
	
	// escribir texto
	glPushMatrix();
	glMatrixMode (GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D (0.0, TAMANYOVENTANA, 0.0, TAMANYOVENTANA);
	glMatrixMode (GL_MODELVIEW);
	glLoadIdentity();
	glColor3f (0.0, 0.5, 1.0);
	
	// si se ha perdido
	if (!m->j->vivo)
	{
		
		glutSetCursor (GLUT_CURSOR_NONE);
		glRasterPos2i (TAMANYOVENTANA / 2 - glutBitmapLength (GLUT_BITMAP_HELVETICA_18,
		               pierdes) / 2, TAMANYOVENTANA / 2 + 18);

		for (i = 0; pierdes[i]; i++)
			glutBitmapCharacter (GLUT_BITMAP_HELVETICA_18, pierdes[i]);

		glRasterPos2i (TAMANYOVENTANA / 2 - glutBitmapLength (GLUT_BITMAP_HELVETICA_12,
		               adicional) / 2, TAMANYOVENTANA / 2 - 12);
		for (i = 0; adicional[i]; i++)
			glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, adicional[i]);
		
	}
	// si se ha ganado
	else if (!m->lista)
	{
		
		glutSetCursor (GLUT_CURSOR_NONE);
		glRasterPos2i (TAMANYOVENTANA / 2 - glutBitmapLength (GLUT_BITMAP_HELVETICA_18,
		               ganas) / 2, TAMANYOVENTANA / 2 + 18);
		for (i = 0; ganas[i]; i++)
			glutBitmapCharacter (GLUT_BITMAP_HELVETICA_18, ganas[i]);

		glRasterPos2i (TAMANYOVENTANA / 2 - glutBitmapLength (GLUT_BITMAP_HELVETICA_12,
		               adicional) / 2, TAMANYOVENTANA / 2 - 12);
		for (i = 0; adicional[i]; i++)
			glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, adicional[i]);

	}

	// si se esta en modo pausa
	if (pausa)
	{
		
		glutSetCursor (GLUT_CURSOR_LEFT_ARROW);
		glRasterPos2i (TAMANYOVENTANA / 2 - glutBitmapLength (GLUT_BITMAP_HELVETICA_18,
		               textoPausa) / 2, TAMANYOVENTANA / 2 + 18);
		for (i = 0; textoPausa[i]; i++)
			glutBitmapCharacter (GLUT_BITMAP_HELVETICA_18, textoPausa[i]);

		glRasterPos2i (TAMANYOVENTANA / 2 - glutBitmapLength (GLUT_BITMAP_HELVETICA_12,
		               pausaAdicional) / 2, TAMANYOVENTANA / 2 - 12);
		for (i = 0; pausaAdicional[i]; i++)
			glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, pausaAdicional[i]);

	}

	// dibujar puntuacion
	// covertir puntuacion a texto
	sprintf (auxTexto, "%06d", puntuacion);
		
	for (i = 0; auxTexto[i]; i++)
		puntuacionTexto[i] = auxTexto[i];
	puntuacionTexto[i] = '\0';
	
	glRasterPos2i (TAMANYOVENTANA - glutBitmapLength (GLUT_BITMAP_HELVETICA_18,
		           puntuacionTexto), TAMANYOVENTANA - 18);
	for (i = 0; puntuacionTexto[i]; i++)
		glutBitmapCharacter (GLUT_BITMAP_HELVETICA_18, puntuacionTexto[i]);
	
	// dibujar aciertos
	// convertir aciertos y disparos a texto
	sprintf (auxTexto, "%03d/%03d", aciertos, disparos);

	for (i = 0; auxTexto[i]; i++)
		aciertosTexto[i] = auxTexto[i];
	aciertosTexto[i] = '\0';

	glRasterPos2i (TAMANYOVENTANA - glutBitmapLength (GLUT_BITMAP_HELVETICA_12,
		           aciertosTexto), TAMANYOVENTANA - 18 - 12 - 4);
	for (i = 0; aciertosTexto[i]; i++)
		glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, aciertosTexto[i]);

	
	// dibujar el nivel
	// covertir nivel a texto
	sprintf (auxTexto, "%d", nivel);
		
	for (i = 0; auxTexto[i]; i++)
		nivelTexto[i] = auxTexto[i];
	nivelTexto[i] = '\0';
	
	glRasterPos2i (TAMANYOVENTANA - glutBitmapLength (GLUT_BITMAP_HELVETICA_12,
		           nivelTexto), TAMANYOVENTANA - 18 - 12 - 4 - 12 - 4);
	for (i = 0; nivelTexto[i]; i++)
		glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, nivelTexto[i]);
	

	reshape (TAMANYOVENTANA, TAMANYOVENTANA);
	
	glMatrixMode (GL_MODELVIEW);
	glPopMatrix();


	glutSwapBuffers();

	frames++;

}