//==================================================================
// Projeto: Batalha Naval
// Por: Renata Corrêa - Silmara Pedretti Gomes
// Versão: 0.3
// Disciplina: IA725 - Profa. Ting
// Julho/2004
//==================================================================
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#include "objetos.h"
#include "var.h"
int LoadBMP(char *filename);
int tx;
//=======================================================================================
void init(void)
{
int x, i;
tx=0;
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glColor3f(1.0,1.0,1.0);
EhDia = 1;
ConfiguraIluminacao();
ConfiguraTextura();
//->zerando as variáveis de controle de jogo
chrFim[0]='0';
chrFim[1]='0';
chrFim[2]='0';
//inicializando a matriz das posições
do plano com 0
memset(plano, '0', sizeof(plano));
//Posiciona as embarcações
PosicionaEmbarc();
time(&hor_ini);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glDepthRange(0.1, 530.0);
}
//=======================================================================================
void display(void)
{
/* Habilita a textura e cria a esfera */
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBindTexture ( GL_TEXTURE_2D, texture_id[txId_Metal1]
);
glPushMatrix();
glBegin(GL_QUADS);
glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f);
glEnd();
glPopMatrix();
glutSwapBuffers();
glBindTexture ( GL_TEXTURE_2D, 0 );
}
//=======================================================================================
void reshape2 (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}
//=======================================================================================
void reshape(int width, int height){
WIDTH=width;
HEIGHT=height;
w0 = width;
h0 = height;
glViewport(0,0,(GLint)width,(GLint)height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(70.0,width/(float)height,0.1,30.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity(); //SP
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}
//=======================================================================================
int main(int argc, char** argv)
{
glutInitWindowPosition(0,0);
glutInitWindowSize(WIDTH,HEIGHT);
glutInit(&argc,argv);
glutInitDisplayMode ( GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB
);
if(!glutCreateWindow("Batalha Naval")) {
fprintf(stderr,"Error opening a window.\n");
exit(-1);
}
init();
glutDisplayFunc(desenha);
glutReshapeFunc(reshape);
glutKeyboardFunc(teclado);
glutMouseFunc(GerenciaMouse);
glutSpecialFunc(especial);
glutPostRedisplay();
glutMainLoop();
return(0);
}
//---------------------------------------------------------------------------
|