#include #include #include #include #include staticGLfloatspin=45.0,spin1=200.0,bail=1.0,ball=1.0; staticGLfloatspiny,spinx; voidSprint(intx,inty,char*st) { intl,i; l=strlen(st);//seehowmanycharactersareintextstring. glRasterPos2i(x,y);//locationtostartprintingtext for(i=0;i<l;i++)//loopuntiliisgreaterthenl { glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24 glutBitmapCharacter(GL UT_BITMAP_TIMES_ROMAN_24,st[i]);//Print ,st[i]);//Print acharacteronthescreen } } voiddisplay() { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //CODEFORBOUNDRY glColor3f(1.0,1.0,1.0); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(20.0,1.0,0.0); glVertex3f(10.0,50.0,0.0); glVertex3f(10.0,50.0,0.0); glVertex3f(1.0,200.0,0.0); glVertex3f(1.0,200.0,0.0); glVertex3f(1.0,350.0,0.0); glVertex3f(1.0,350.0,0.0); glVertex3f(10.0,475.0,0.0); glVertex3f(10.0,475.0,0.0); glVertex3f(30.0,525.0,0.0); glVertex3f(30.0,525.0,0.0); glVertex3f(70.0,525.0,0.0); glVertex3f(70.0,525.0,0.0); glVertex3f(85.0,475.0,0.0); glVertex3f(85.0,475.0,0.0); glVertex3f(95.0,350.0,0.0); glVertex3f(95.0,350.0,0.0); glVertex3f(95.0,100.0,0.0); glVertex3f(95.0,100.0,0.0); glVertex3f(85.0,1.0,0.0); glVertex3f(85.0,1.0,0.0); glVertex3f(20.0,1.0,0.0); glEnd(); //CODEFORFIRSTSHADE glColor3f(0.0,0.7,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,475.0,0.0); glVertex3f(1.0,350.0,0.0); glVertex3f(95.0,350.0,0.0); glVertex3f(85.0,475.0,0.0); glEnd(); //CODEFORSECONDSHADE
glColor3f(0.0,0.7,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,50.0,0.0); glVertex3f(3.0,175.0,0.0); glVertex3f(95.0,175.0,0.0); glVertex3f(95.0,100.0,0.0); glVertex3f(90.0,50.0,0.0); glEnd(); //CODEFORTHIRDSHADE glColor3f(0.0,0.7,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,475.0,0.0); glVertex3f(30.0,525.0,0.0); glVertex3f(30.0,1.0,0.0); glVertex3f(20.0,1.0,0.0); glVertex3f(10.0,50.0,0.0); glEnd(); //CODEFORFIRSTSQUARESHADE glColor3f(0.0,0.6,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,50.0,0.0); glVertex3f(30.0,50.0,0.0); glVertex3f(30.0,175.0,0.0); glVertex3f(10.0,175.0,0.0); glEnd(); //CODEFORSECONDSQUARESHADE glColor3f(0.0,0.6,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,475.0,0.0); glVertex3f(30.0,475.0,0.0); glVertex3f(30.0,350.0,0.0); glVertex3f(10.0,350.0,0.0); glEnd(); //CODEFORFOURTHSHADE glColor3f(0.0,0.7,0.0); glBegin(GL_POLYGON); glVertex3f(65.0,525.0,0.0); glVertex3f(70.0,525.0,0.0); glVertex3f(85.0,475.0,0.0); glVertex3f(85.0,1.0,0.0); glVertex3f(65.0,1.0,0.0); glEnd(); //CODEFORTHIRDSQUARESHADE glColor3f(0.0,0.6,0.0); glBegin(GL_POLYGON); glVertex3f(65.0,475.0,0.0); glVertex3f(85.0,475.0,0.0); glVertex3f(85.0,350.0,0.0); glVertex3f(65.0,350.0,0.0); glEnd(); //CODEFORFOURTHSQUARESHADE glColor3f(0.0,0.6,0.0); glBegin(GL_POLYGON); glVertex3f(65.0,50.0,0.0); glVertex3f(85.0,50.0,0.0); glVertex3f(85.0,175.0,0.0); glVertex3f(65.0,175.0,0.0); glEnd(); //CODEFORPITCH glColor3f(0.5,0.7,0.0);
glBegin(GL_POLYGON); glVertex3f(45.0,405.0,0.0); glVertex3f(45.0,132.0,0.0); glVertex3f(55.0,132.0,0.0); glVertex3f(55.0,405.0,0.0); glEnd(); //CODEFORLBWREFERENCELINE glColor3f(1.5,1.5,0.0); glBegin(GL_POLYGON); glVertex3f(49.0,187.0,0.0); glVertex3f(51.0,187.0,0.0); glVertex3f(51.0,370.0,0.0); glVertex3f(49.0,370.0,0.0); glEnd(); //CODEFORCREASE glColor3f(1.0,1.0,1.0); glBegin(GL_LINES); glVertex3f(40.0,350.0,0.0); glVertex3f(60.0,350.0,0.0); glVertex3f(40.0,187.0,0.0); glVertex3f(60.0,187.0,0.0); glVertex3f(45.0,370.0,0.0); glVertex3f(55.0,370.0,0.0); glVertex3f(45.0,157.0,0.0); glVertex3f(55.0,157.0,0.0); glVertex3f(45.0,405.0,0.0); glVertex3f(45.0,350.0,0.0); glVertex3f(55.0,405.0,0.0); glVertex3f(55.0,350.0,0.0); glVertex3f(45.0,132.0,0.0); glVertex3f(45.0,187.0,0.0); glVertex3f(55.0,132.0,0.0); glVertex3f(55.0,187.0,0.0); glEnd(); //codeforwicketonstricker //firstwicket glColor3f(0.9,0.9,0.9); glBegin(GL_LINES); glVertex3f(49.0,410.0,0.0); glVertex3f(49.0,370.0,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(49.0,370.0,0.0); glVertex3f(47.0,390.0,0.0); glEnd(); //secondwicket glColor3f(0.9,0.9,0.9); glBegin(GL_LINES); glVertex3f(50.0,410.0,0.0); glVertex3f(50.0,370.0,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(49.0,370.0,0.0); glVertex3f(47.0,390.0,0.0); glEnd(); //thirdwicket glColor3f(0.9,0.9,0.9); glBegin(GL_LINES); glVertex3f(51.0,410.0,0.0); glVertex3f(51.0,370.0,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(49.0,370.0,0.0);
glVertex3f(47.0,390.0,0.0); glEnd(); //CODEFORWICKETONNONSTRIKERSIDE glBegin(GL_LINES); //FIRSTWICKET glColor3f(0.9,0.9,0.9); glVertex3f(51.0,157.0,0.0); glVertex3f(51.0,197.0,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(51.0,157.0,0.0); glVertex3f(49.0,177.0,0.0); //SECONDWICKET glColor3f(0.9,0.9,0.9); glVertex3f(50.0,157.0,0.0); glVertex3f(50.0,197.0,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(50.0,157.0,0.0); glVertex3f(48.0,177.0,0.0); //THIRDWICKET glColor3f(0.9,0.9,0.9); glVertex3f(49.0,157.0,0.0); glVertex3f(49.0,197.0,0.0); glColor3f(0.0,0.0,0.0); glVertex3f(49.0,157.0,0.0); glVertex3f(47.0,177.0,0.0); glEnd(); //CODEFORBAILS glColor3f(1.0,1.0,1.0); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(49.0,197.0,0.0); glVertex3f(49.2,197.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(49.2,197.0,0.0); glVertex3f(49.8,197.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(49.8,197.0,0.0); glVertex3f(50.0,197.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(50.0,197.0,0.0); glVertex3f(50.2,197.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(50.2,197.0,0.0); glVertex3f(50.8,197.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(50.8,197.0,0.0); glVertex3f(51.0,197.0,0.0); glEnd();
if(bail==1.0) { glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(49.0,410.0,0.0); glVertex3f(49.2,410.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(49.2,410.0,0.0); glVertex3f(49.8,410.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(49.8,410.0,0.0); glVertex3f(50.0,410.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(50.0,410.0,0.0); glVertex3f(50.2,410.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(50.2,410.0,0.0); glVertex3f(50.8,410.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(50.8,410.0,0.0); glVertex3f(51.0,410.0,0.0); glEnd(); } //CODEFORSHADOWOFBAILS glColor3f(0.0,0.0,0.0); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(47.0,177.0,0.0); glVertex3f(47.2,177.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(47.2,177.0,0.0); glVertex3f(47.8,177.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(47.8,177.0,0.0); glVertex3f(48.0,177.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(48.0,177.0,0.0); glVertex3f(48.2,177.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(48.2,177.0,0.0); glVertex3f(48.8,177.0,0.0); glEnd();
glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(48.8,177.0,0.0); glVertex3f(49.0,177.0,0.0); glEnd(); if(bail==1.0) { glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(47.0,390.0,0.0); glVertex3f(47.2,390.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(47.2,390.0,0.0); glVertex3f(47.8,390.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(47.8,390.0,0.0); glVertex3f(48.0,390.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(48.0,390.0,0.0); glVertex3f(48.2,390.0,0.0); glEnd(); glLineWidth(5.0); glBegin(GL_LINES); glVertex3f(48.2,390.0,0.0); glVertex3f(48.8,390.0,0.0); glEnd(); glLineWidth(1.0); glBegin(GL_LINES); glVertex3f(48.8,390.0,0.0); glVertex3f(49.0,390.0,0.0); glEnd(); } //CODEFORADVERTISEMENTBOARD //CODEFORFIRSTBLUEBOARDANDITSSHADOW glColor3f(0.0,0.0,0.0); glBegin(GL_POLYGON); glVertex3f(1.0,350.0,0.0); glVertex3f(0.0,410.0,0.0); glVertex3f(10.0,550.0,0.0); glVertex3f(10.0,475.0,0.0); glEnd(); glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex3f(1.0,350.0,0.0); glVertex3f(10.0,475.0,0.0); glVertex3f(10.0,525.0,0.0); glVertex3f(1.0,400.0,0.0); glEnd(); //CODEFORSECONDBLUEBOARDANDITSSHADOW glColor3f(0.0,0.0,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,475.0,0.0); glVertex3f(10.0,550.0,0.0); glVertex3f(30.0,550.0,0.0);
glEnd(); glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex3f(10.0,475.0,0.0); glVertex3f(30.0,525.0,0.0); glVertex3f(30.0,550.0,0.0); glVertex3f(10.0,525.0,0.0); glEnd(); //CODEFORTHIRDBLUEBOARDANDITSSHADOW glColor3f(0.0,0.0,0.0); glBegin(GL_POLYGON); glVertex3f(70.0,550.0,0.0); glVertex3f(85.0,540.0,0.0); glVertex3f(85.0,525.0,0.0); glEnd(); glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex3f(70.0,525.0,0.0); glVertex3f(70.0,555.0,0.0); glVertex3f(85.0,525.0,0.0); glVertex3f(85.0,475.0,0.0); glEnd(); //CODEFORFOURTHBLUEBOARDANDITSSHADOW glColor3f(0.0,0.0,0.0); glBegin(GL_POLYGON); glVertex3f(85.0,525.0,0.0); glVertex3f(85.0,540.0,0.0); glVertex3f(95.0,425.0,0.0); glVertex3f(95.0,350.0,0.0); glEnd(); glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex3f(85.0,525.0,0.0); glVertex3f(85.0,475.0,0.0); glVertex3f(95.0,350.0,0.0); glVertex3f(95.0,400.0,0.0); glEnd(); //CODEFORFIRSTYELLOWBOARD. glColor3f(1.0,1.0,0.0); glBegin(GL_POLYGON); glVertex3f(30.0,550.0,0.0); glVertex3f(70.0,550.0,0.0); glVertex3f(70.0,525.0,0.0); glVertex3f(30.0,525.0,0.0); glEnd(); glColor3f(0.0,0.0,1.0); Sprint(43,530,"HAWK-EYE");//Todisplayprojectname. //CODEFORSECONDYELLOWBOARD glColor3f(1.0,1.0,0.0); glBegin(GL_POLYGON); glVertex3f(95.0,350.0,0.0); glVertex3f(95.0,435.0,0.0); glVertex3f(98.0,150.0,0.0); glVertex3f(95.0,100.0,0.0); glEnd(); //CODEFORTHIRDYELLOWBOARD glColor3f(1.0,1.0,0.0); glBegin(GL_POLYGON); glVertex3f(1.0,350.0,0.0); glVertex3f(0.0,400.0,0.0);
glVertex3f(0.0,200.0,0.0); glVertex3f(1.0,200.0,0.0); glEnd(); //CODEFORFIFTHBLUEBOARD glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex3f(0.0,200.0,0.0); glVertex3f(1.0,200.0,0.0); glVertex3f(10.0,50.0,0.0); glVertex3f(6.0,80.0,0.0); glEnd(); //CODEFORFOURTHYELLOWBOARD glColor3f(1.0,1.0,0.0); glBegin(GL_POLYGON); glVertex3f(10.0,50.0,0.0); glVertex3f(6.0,80.0,0.0); glVertex3f(15.0,10.0,0.0); glVertex3f(20.0,0.0,0.0); glEnd(); //CODEFORSIXTHBLUEBOARD glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex3f(95.0,100.0,0.0); glVertex3f(85.0,1.0,0.0); glVertex3f(90.0,30.0,0.0); glVertex3f(98.0,150.0,0.0); glEnd(); //MESSAGEDISPLAY glColor3f(0.0,0.0,0.0); Sprint(30,100,"pressleftmousebuttontomoveball"); Sprint(30,80,"pressrightmousebuttontopitchtheball"); Sprint(30,60,"pressmiddlemousebuttontostopball"); //CODEFORBALLANDITSTRANSLATION if(ball==1.0) { glPushMatrix(); glTranslatef(spin,spin1,-15.0);//specifyth glTranslatef(spin,s pin1,-15.0);//specifythepositionwherethetran epositionwherethetrans s lationshouldstart. glColor3f(1.0,0.0,0.0); glutSolidSphere(1.00000,400,421);//ball glPopMatrix(); glutSwapBuffers(); } glFlush(); } //CODEFORMOVEMENTOFBALLBEFOREPITCHING. voidspindisplay() { spin=spin+0.04; spin1=spin1+1.0; glutPostRedisplay(); } //CODEFORMOVEMENTOFBALLAFTERPITCHING voidspindisplayy() { staticGLfloatspiny=spin1,spinx=spin; ball=0.0; if(spinx>=49.0&&spinx<=51.0)
{ glColor3f(0.0,0.0,0.0); Sprint(53,310,"pitchedinside"); for(GLinti=spin1;i409) { break; } } } else { glColor3f(0.0,0.0,0.0); Sprint(30,260,"pitchedoutside"); } glPushMatrix(); glTranslatef(spinx,spiny,-15.0); glColor3f(1.0,0.0,0.0); glutSolidSphere(1.00000,400,421); glPopMatrix(); glutSwapBuffers(); spiny=spiny+0.5; if(spinx>=49.0&&spinx<=51.0&&spiny>=410.0) { bail=0.0;//makethebailsdisappear. } glutPostRedisplay(); } //CODEFORMOUSEINTERACTION voidmouse(intbutton,intstate,intx,inty) { switch(button) { caseGLUT_LEFT_BUTTON: if(state==GLUT_DOWN) glutIdleFunc(spindisplay); break; caseGLUT_MIDDLE_BUTTON: if(state==GLUT_DOWN) glutIdleFunc(NULL); break; caseGLUT_RIGHT_BUTTON: if(state==GLUT_DOWN) glutIdleFunc(spindisplayy); for(GLinti=spin1;i
glPointSize(1.0); glBegin(GL_POINTS); glVertex3f(spinx,i,0.0); glEnd(); if(i>409) { break; } } break; default: break; } }
intmain(intargc,char**argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB); glutInitWindowSize(1000,600); glutInitWindowPosition(30,30); glutCreateWindow("ppp"); glClearColor(0.0,0.6,0.0,0.0); glOrtho(0.0,100.0,0.0,550.0,-15.0,50.0); glutDisplayFunc(display); glutMouseFunc(mouse); glutMainLoop(); return(0); }