Sie sind auf Seite 1von 3

using namespace std; int XV1=200,YV1=200,XV2=200,YV2=210,XV3=210,YV3=210,XV4=210,YV4=200; int RXV1=5,RYV1=5,RXV2=5,RYV2=100,RXV3=10,RYV3=100,RXV4=10,RYV4=5; int JXV1=390,JYV1=205,JXV2=390,JYV2=300,JXV3=395,JYV3=300,JXV4=395,JYV4=205; int incrementoy=1,incrementox=2,i=0,j=0,ir=0,r=0; int incrementy=5,incrementx=5; int incremeny=5,incremenx=5;

float hx=0,h=0,hy=0; bool bo = false, qo = false; void Inicializa(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glMatrixMode (GL_PROJECTION); gluOrtho2D (0.0, 400.0, 0.0, 400.0); } void CrearLineas(void) { bo = false; qo = false; // 10 al 100 Y=10+(rand()%91); ir=1+(rand()%2); r=1+(rand()%2); glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 1.0, 1.0 );

for(i = RYV1; i <= RYV2;i++){ if(i == YV1 && XV1 == 10){ bo = true; } } for(j = JYV1; j <= JYV2;j++){ if(j == YV3 && XV3 == 390){ qo = true; } } if(bo == true ){incrementox=r;incrementoy=-1;}//3 if(qo == true){incrementox=-ir;incrementoy=1;}//1 if(YV1==0){incrementox=1;incrementoy=ir;}//4 if(YV3==400 || YV3 == 402){incrementox=-1;incrementoy=-r;}//2 XV1+=incrementox; YV1+=incrementoy; XV2+=incrementox; YV2+=incrementoy; XV3+=incrementox; YV3+=incrementoy; XV4= XV4+incrementox; YV4=YV4+incrementoy; glBegin(GL_QUADS); glVertex2i(XV1,YV1); glVertex2i(XV2,YV2); glVertex2i(XV3,YV3); glVertex2i(XV4,YV4); glEnd(); glBegin(GL_QUADS);

glVertex2i(RXV1,RYV1); glVertex2i(RXV2,RYV2); glVertex2i(RXV3,RYV3); glVertex2i(RXV4,RYV4); glEnd();

glBegin(GL_QUADS); glVertex2i(JXV1,JYV1); glVertex2i(JXV2,JYV2); glVertex2i(JXV3,JYV3); glVertex2i(JXV4,JYV4); glEnd(); glutPostRedisplay(); glFlush(); } static void keyo(unsigned char keyo, int x, int y) { switch (keyo) { case 'w': if(RYV2<400){ RYV1+=incrementy; RYV2+=incrementy; RYV3+=incrementy; RYV4= RYV4 + incrementy; } break; case 's': if(RYV1>0){ RYV1-=incrementy; RYV2-=incrementy; RYV3-=incrementy; RYV4= RYV4 - incrementy; } break; } glutPostRedisplay(); } void TeclaOprimida(int key, int xx, int yy) { switch ( key ) { case GLUT_KEY_UP: if(JYV2<400){ JYV1+=incremeny; JYV2+=incremeny; JYV3+=incremeny; JYV4= JYV4 + incremeny; } break; case GLUT_KEY_DOWN: if(JYV1>0){ JYV1-=incremeny; JYV2-=incremeny; JYV3-=incremeny; JYV4= JYV4 - incremeny;

} break; } glutPostRedisplay(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); //Inicializa glut glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB ); //Establece el modo de visuali zacion glutInitWindowPosition (50, 100); glutInitWindowSize (800, 600); // Establece alto y ancho de la ventana glutCreateWindow ("Ping Pong"); Inicializa(); glutDisplayFunc(CrearLineas); glutSpecialFunc(TeclaOprimida); glutKeyboardFunc(keyo); glutMainLoop(); system("PAUSE"); return EXIT_SUCCESS; }

Das könnte Ihnen auch gefallen