/* * ??? */ void exitMenu(int i) { float j, k, n; char sl[60]="~>"; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3d(7, 7, 7); glBindTexture(GL_TEXTURE_2D, texture[0]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 10.0f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 10.0f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); switch (optionTargeted) { case 0 : k=i/10; j=12.4+k; n=5.0; glColor3d(7, 7, 7); printGl("Options", 12, 3); printGl("High scores", 11.6, 1); printGl("Exit", 12.4, -1); break; case 1 : k=i/10; j=12+k; n=3.0; glColor3d(7, 7, 7); printGl("Play", 12.4, 5); printGl("High scores", 11.6, 1); printGl("Exit", 12.4, -1); break; case 2 : k=i/10; j=11.6+k; n=1.0; glColor3d(7, 7, 7); printGl("Options", 12, 3); printGl("Play", 12.4, 5); printGl("Exit", 12.4, -1); break; } glColor3d(1, 0, 0); printGl(sl, j, n); }
void Render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3d(7, 7, 7); glBindTexture(GL_TEXTURE_2D, texture[0]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 10.0f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 10.0f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); int i; printMenu(); if (enterBool == 1) // if enter is pressed { for(i=0; i<30; i++) exitMenu(i); switch (optionTargeted) // calls the functions for play, options, high scores and exit { case 0 : printGl("Imagine the game starts now...", 8, -5); break; case 1 : printGl("You are in options now, believe me!", 8, -5); break; case 2 : printGl("You are the best, don't worry.", 8, -5); break; case 3 : exit(0); break; } } glutSwapBuffers(); glutPostRedisplay(); }
/* * Prints out the menu */ void printMenu() { if (optionTargeted == 0) { glBindTexture(GL_TEXTURE_2D, texture[optionTargeted]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 10.0f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 10.0f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); t = GLUT_BITMAP_TIMES_ROMAN_24; glColor3d(1, 0, 0); printGl("~> Play <~", 11.6, 5); } else { t = GLUT_BITMAP_HELVETICA_18; glColor3d(7, 7, 7); printGl("Play", 12.4, 5); } if (optionTargeted == 1) { glBindTexture(GL_TEXTURE_2D, texture[optionTargeted]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 08.0f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 08.0f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); t = GLUT_BITMAP_TIMES_ROMAN_24; glColor3d(1, 0, 0); printGl("~> Options <~", 11.2, 3); } else { t = GLUT_BITMAP_HELVETICA_18; glColor3d(7, 7, 7); printGl("Options", 12, 3); } if (optionTargeted == 2) { glBindTexture(GL_TEXTURE_2D, texture[optionTargeted]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 07.1f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 07.1f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); t = GLUT_BITMAP_TIMES_ROMAN_24; glColor3d(1, 0, 0); printGl("~> High scores <~", 10.8, 1); } else { t = GLUT_BITMAP_HELVETICA_18; glColor3d(7, 7, 7); printGl("High scores", 11.6, 1); } if (optionTargeted == 3) { glBindTexture(GL_TEXTURE_2D, texture[0]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 10.0f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 10.0f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); t = GLUT_BITMAP_TIMES_ROMAN_24; glColor3d(1, 0, 0); printGl("~> Exit <~", 11.6, -1); } else { t = GLUT_BITMAP_HELVETICA_18; glColor3d(7, 7, 7); printGl("Exit", 12.4, -1); } }
void exitMenu() { int i,j,k; char sl[30]="->"; for(i=0; i<29; i++) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3d(7, 7, 7); glBindTexture(GL_TEXTURE_2D, texture[0]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-17.0f, -11.0f, 1.0f); // Bottom Left Of The Texture and Quad glTexCoord2f(1.0f, 0.0f); glVertex3f( 10.0f, -11.0f, 1.0f); // Bottom Right Of The Texture and Quad glTexCoord2f(1.0f, 1.0f); glVertex3f( 10.0f, 11.0f, 1.0f); // Top Right Of The Texture and Quad glTexCoord2f(0.0f, 1.0f); glVertex3f(-17.0f, 11.0f, 1.0f); // Top Left Of The Texture and Quad glEnd(); if (i != 0) sl[i-1]=' '; sl[i]='~'; sl[i+1]='>'; glColor3d(1, 0, 0); switch (optionTargeted) { case 0 : printGl(sl, 12.4, 5); glColor3d(7, 7, 7); printGl("Options", 12, 3); printGl("High scores", 11.6, 1); printGl("Exit", 12.4, -1); break; case 1 : printGl(sl, 12, 3); glColor3d(7, 7, 7); printGl("Play", 12.4, 5); printGl("High scores", 11.6, 1); printGl("Exit", 12.4, -1); break; case 2 : printGl(sl, 11.6, 1); glColor3d(7, 7, 7); printGl("Options", 12, 3); printGl("Play", 12.4, 5); printGl("Exit", 12.4, -1); break; } glColor3d(7, 7, 7); } }