السلام عليكم ورحمة الله وبركاته
كيفكم ..
لو سمحتوو انا سويت كود بلياردوو وابعى مساعدتكم عشان اسوي حركه للكوره البيضاء بحيث تحرك تضرب الكور الثانيه وتحركها
حاولت اسويها اكثر من مره بس ماتضبط معايه وتختفي الكور وكماان ارجل طاولة البلياردو ابغاها تكون اسطوانيه
الله يسعدكم ساعدوني لازم اسلمه الاثنين واتمنى منكم المساعده العاجله
الكود ..
#include<windows.h>
#include<GL\glut.h>
#include<math.h>
void draw()
{float x=405,y=500;
glBegin(GL_QUADS);
glColor4f(1111,0.7,0.2,1111);
glVertex3f(0,0,0);
glColor4f(1,1111.7,0.2,1111);
glVertex3f(800,0,1);
glColor4f(1111,0.7,0.2,1111);
glVertex3f(650,500,1);
glColor4f(1111,0.7,0.2,1111);
glVertex3f(150,500,1);
glEnd ();
//ÇáÇÑÖíå ÇáÈäíå
glBegin(GL_QUADS);
glColor4f(2,0,2,0);
glVertex2f(800,50);
glColor4f(2,0,2,0);
glVertex2f(800,700);
glColor4f(2,0,2,0);;
glVertex2f(650,700);
glColor4f(2,0,2,0);
glVertex2f(650,500);
glEnd ();
// ÇáÍÇÆØ ÇáæÑÏí
glBegin(GL_QUADS);
glColor4f(0.3,0.3,.011,1);
glVertex2f(150,500);
glColor4f(1,0.5,0.05,1);
glVertex2f(650,500);
glColor4f(0.3,0.3,.011,1);
glVertex2f(650,550);
glColor4f(1,0.5,0.05,1);
glVertex2f(150,550);
glEnd();
// ÇØÇÑ ãÇÈíä ÇáÍÇÆØ æÇáÇÑÖíå
glBegin(GL_QUADS);
glColor4f(2,0,2,0);
glVertex2f(150,550);
glColor4f(2,0,2,0);;
glVertex2f(650,550);
glColor4f(2,0,2,0);
glVertex2f(650,700);
glColor4f(2,0,2,0);
glVertex2f(150,700);
glEnd();
// ÇáÍÇÆØ ÇáÇíãä
glBegin(GL_QUADS);
glColor4f(1.0,1.0,1.0,1);
glVertex2f(0,0);
glColor4f(2,0,2,0);
glVertex2f(150,500);
glColor4f(2,0,2,0);
glVertex2f(150,700);
glColor4f(2,0,2,0);
glVertex2f(0,700);
glEnd ();
glBegin(GL_QUADS);
glColor3f(0.0,1.0,.0);
glVertex2f(500,550);
glVertex2f(300,550);
glVertex2f(230,150);
glVertex2f(570,150);
glVertex2f(500,550);
glEnd();
// ÇáØÇæáå ÇáÎÖÑÇÁ
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(250,150);
glVertex2f(270,0);
glVertex2f(300,0);
glVertex2f(320,150);
glVertex2f(250,150);
glEnd ();
// ÑÌá ÇáíÓÑì ááØÇæáå
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(230,170);
glVertex2f(230,100);
glVertex2f(570,170);
glVertex2f(570,100);
glEnd();
//ÍÇÝÉ ÇáØÇæáå ÇáÇãÇãíå
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(550,150);
glVertex2f(530,0);
glVertex2f(500,0);
glVertex2f(480,150);
glVertex2f(550,150);
glEnd ();
// ÇáÑÌá Çáíãäì ááØÇæáå
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(230,150);
glVertex2f(240,150);
glVertex2f(300,550);
glVertex2f(310,550);
glVertex2f(0,0);
glEnd ();
// ÇáÍÇÝå ÇáíÓÑì ááØÇæáå
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(300,550);
glVertex2f(510,550);
glVertex2f(500,560);
glVertex2f(300,560);
glVertex2f(0,0);
glEnd ();
// ÇáÍÇÝå ÇáÎáÝíå ááØÇæáå
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(570,150);
glVertex2f(580,150);
glVertex2f(510,560);
glVertex2f(500,550);
glVertex2f(0,0);
glEnd ();
// ÇáÍÇÝå Çáíãäì ááØÇæáå
glBegin(GL_QUADS);
glColor3f(0.8,0.8,0.4);
glVertex3f(450,540,1);
glVertex3f(550,180,1);
glVertex3f(560,180,1);
glVertex3f(460,540,1);
glEnd();
// ÚÕÇ ÇáÈáíÇÑÏææ
glBegin(GL_QUADS);
glColor4f(0.3,0.3,.011,1);
glVertex3f(0,0,1);
glColor4f(1,0.5,0.05,1);
glVertex3f(0,50,1);
glColor4f(0.3,0.3,.011,1);
glVertex3f(150,550,1);
glColor4f(1,0.5,0.05,1);
glVertex3f(150,500,1);
glEnd ();
glBegin(GL_QUADS);
glColor4f(0.3,0.3,.011,1);
glVertex2f(650,550);
glColor4f(1,0.5,0.05,1);
glVertex2f(800,50);
glColor4f(0.3,0.3,.011,1);
glVertex2f(800,0);
glColor4f(1,0.5,0.05,1);
glVertex2f(650,500);
glEnd ();
//,,,,,,,,,,,,,,,,,,,,,,,,,
//,,,,,,,,,,,,,,,,,,,,,,,
glPushMatrix();
glColor3f(1,1,1);
glTranslatef(x,y,0);
//glTranslatef(405,500,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
//,,,,,,,,,,,,,,,,,,,
glColor3f(0,341,1311);
glTranslatef(400,300,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,0,77.6);
glTranslatef(395,290,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(4.01,0,0);
glTranslatef(410,290,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(0,0,1);
glTranslatef(390,280,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(0,0,0);
glTranslatef(405,280,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,0,1);
glTranslatef(420,280,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,0,0);
glTranslatef(385,270,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,1,0);
glTranslatef(400,270,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(0,1,2);
glTranslatef(415,270,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,1,0);
glTranslatef(429,270,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(0,0,1);
glTranslatef(380,260,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,0,0);
glTranslatef(395,260,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,1,0);
glTranslatef(410,260,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(1,0,0);
glTranslatef(425,260,5);
glutSolidSphere ( 8, 20.0, 35.0);
glPopMatrix();
glPushMatrix();
glColor3f(3,1,0);
glTranslatef(440,260,5);
glutSolidSphere ( 8, 20.0, 35.0);
//,,,,,,,,,,,,,,,,,,,,,
//.............................
if(y>=500)
{
y=y+(-5);
if(y>=430)
{
y=430;
}
}
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
glPopMatrix();
//,,,,,,,,,,,,,,,,,,
glutSwapBuffers();
}
// ᑥ ÇáÈáíÇÑÏææ
void initial()
{
glClearColor(1.3,0.48,0.5,1);// ÏÇáÉ ÊäÙíÝ ÇáÔÇÔå
glColor3f(0,.67676,1);//ÏÇáÉ ÎØ ÇáÑÓã
glPointSize(0.0);// ÏÇáÉ ÊÍÏíÏ ÍÌã ÇáäÞØå
glLineWidth(5);//ÏÇáÉ ÚÑÖ ÇáÎØ
glMatrixMode(GL_PROJECTION);//ÏÇáÉ ÇáÊÚÇãá ãÚ ÇáãÕÝæÝå
glOrtho(150,650,50,650,50,-50);//ÏÇáÉ ÇÍÏÇËíÇÊ ÇáÔÇÔå
}
void main()
{glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
//glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//ÏÇáÉ ÇáÇäÙãå ÇáÎÇÕå ÈÇáÚÑÖ
glutInitWindowSize(700, 700); //ÏÇáÉ ÍÌã ÇáäÇÝÐå
glutInitWindowPosition(0,0);//ÏÇáÉ ãßÇä ÙåæÑ ÔÇÔÉ ÇáÑÓã
glutCreateWindow("draw");// ÏÇáÉ ÇÓã ÇäÔÇÁ ÔÇÔÉ ÇáÚÑÖ
initial(); // ÇÓÊÏÚÇÁ
glutDisplayFunc(draw);// ÇÓÊÏÚÇÁ ÏÇáÉ ÇáÑÓã
glutMainLoop(); //áÙåæÑ ÔÇÔÉ ÇáÑÓã æÊËÈíÊåÇ
}وشكرا لكم جميعاا ..