This project is my second-year mini-project. I have use the GLUT(OpenGL) library in c++.3D Bounce is a game in which we have to bounce the ball to collect the floating star,after collecting all star then a door opens for the next room. Due to lack of time, I can't complete this project but all image drawing part is completed and I hope you will complete it for your collage project.You can download it source code from this link http://www.4shared.com/file/J-cjGaN-/bounce.html .This program is written in complete object oriented environment ,I have made different class in different file and It's code is very lengthy so I can't give source code here.
List of class that I have made are:-
loadBMP.h //file use for loading bitmap image for texture map
class Image {
public:
Image(char* ps, int w, int h);
~Image();
char* pixels;
int width;
int height;
};
Image* loadBMP(const char* filename);
//Reads a bitmap image from file.
drawing.h //all image drawing for game content in this file
#include <glut.h>
#include <iostream>
//#include <stdio.h>
//#include <math.h>
#include "loadBMP.h"
class Ball; //creating object for class ball
typedef struct
{
int X;
int Y;
int Z;
double U;
double V;
}VERTICES;
class drawing
{
private:
Ball *ball;
GLuint _cellingtextureID;
GLuint _walltextureID;
GLuint _floortextureID;
GLuint _secondfloortextureID;
GLuint _cubetextureID;
GLuint _gatetextureID;
GLuint _balltextureID;
GLuint _poletextureID;
GLuint _foodtextureID;
// GLuint _gatetextureID;
GLint CELL;
GLint poleDisplayList;
GLint gateDisplayList;
GLint roomDisplayList;
GLint cubeDisplayList;
GLint foodDisplayList;
GLuint menuDisplayList;
/*const*/ int space;// = 10;
/*const*/ int VertexCount;// = (90 / space) * (360 / space) * 4;
VERTICES *VERTEX;//[VertexCount];
int PI;
GLfloat CELL2;
GLfloat CUBE_POS;
GLfloat FOOD_POS;
int cube_ran_pos[6][6];
int food_ran_pos[4][4];
bool Gamestart;
void startwindow();
void drawRoom();
void drawBall();
void setupPole();
void setupGate();
void drawcube();
void drawFood();
void DisplaySphere(double);
//void drawGate();
void drawPole_and_Gate();
void setupLighting();
//int random_num(int);
public:
drawing();
void CreateSphere (double R, double H, double K, double Z);
void callBallConstructor();
//void setdrawing();
void draw();
~drawing();
void checkleftkey();
void checkrightkey();
void checkupkey();
void checkdownkey();
};
//this class used to draw image
game.h //this file content ball class from where all ball action is controled
//#include<vector>
#include <glut.h>
//const float BARRIER_SIZE = 0.12f;
class Ball {
private:
//The radius of the ball
float r;
//The x coordinate of the ball
float x0;
//The y coordinate of the ball
float y0;
//The z coordinate of the ball
float z0;
//The angle at which the ball is traveling. An angle of 0 indicates the
//positive x direction, while an angle of PI / 2 indicates the positive
//z direction. The angle is always between 0 and 2 * PI.
float angle0;
//The fraction that the ball is "faded in", from 0 to 1. It is not 1
//when the ball is fading in or out.
float fadeAmount0;
//Whether the ball is fading out
bool isFadingOut0;
//collision detection
void DetectCollision();
public:
//Constructs a new ball with the specified radius, x, y and z coordinates,
//and angle of travel. An angle of 0 indicates the positive x
//direction, while an angle of PI / 2 indicates the positive z
//direction. The angle must be between 0 and 2 * PI.
Ball();
//Returns the radius of the ball
float radius();
//Returns the x coordinate of the ball
float x();
//returns the z coordinate of the ball
float y();
//Returns the z coordinate of the ball
float z();
//Returns the angle at which the ball is traveling. An angle of 0
//indicates the positive x direction, while an angle of PI / 2 indicates
//the positive z direction. The returned angle is between 0 and 2 * PI.
float angle();
//Causes the ball to begin fading out
void fadeOut();
//Returns whether the ball is fading out
bool isFadingOut();
//sets the angle of ball
void setangle();
//checks whether the left key is pressed
void checkleftkey();
//checks whether the right key is pressed
void checkrightkey();
//checks whether the up key is currently depressed
void checkupkey();
//checks whether the down key is currently depressed
void checkdownkey();
};
I hope you guys got a little idea about this game. Download it's complete source code and compiled it in code block or visual studio but don't forget to set up GLUT(OpenGL).
Thank you.
List of class that I have made are:-
loadBMP.h //file use for loading bitmap image for texture map
class Image {
public:
Image(char* ps, int w, int h);
~Image();
char* pixels;
int width;
int height;
};
Image* loadBMP(const char* filename);
//Reads a bitmap image from file.
drawing.h //all image drawing for game content in this file
#include <glut.h>
#include <iostream>
//#include <stdio.h>
//#include <math.h>
#include "loadBMP.h"
class Ball; //creating object for class ball
typedef struct
{
int X;
int Y;
int Z;
double U;
double V;
}VERTICES;
class drawing
{
private:
Ball *ball;
GLuint _cellingtextureID;
GLuint _walltextureID;
GLuint _floortextureID;
GLuint _secondfloortextureID;
GLuint _cubetextureID;
GLuint _gatetextureID;
GLuint _balltextureID;
GLuint _poletextureID;
GLuint _foodtextureID;
// GLuint _gatetextureID;
GLint CELL;
GLint poleDisplayList;
GLint gateDisplayList;
GLint roomDisplayList;
GLint cubeDisplayList;
GLint foodDisplayList;
GLuint menuDisplayList;
/*const*/ int space;// = 10;
/*const*/ int VertexCount;// = (90 / space) * (360 / space) * 4;
VERTICES *VERTEX;//[VertexCount];
int PI;
GLfloat CELL2;
GLfloat CUBE_POS;
GLfloat FOOD_POS;
int cube_ran_pos[6][6];
int food_ran_pos[4][4];
bool Gamestart;
void startwindow();
void drawRoom();
void drawBall();
void setupPole();
void setupGate();
void drawcube();
void drawFood();
void DisplaySphere(double);
//void drawGate();
void drawPole_and_Gate();
void setupLighting();
//int random_num(int);
public:
drawing();
void CreateSphere (double R, double H, double K, double Z);
void callBallConstructor();
//void setdrawing();
void draw();
~drawing();
void checkleftkey();
void checkrightkey();
void checkupkey();
void checkdownkey();
};
//this class used to draw image
game.h //this file content ball class from where all ball action is controled
//#include<vector>
#include <glut.h>
//const float BARRIER_SIZE = 0.12f;
class Ball {
private:
//The radius of the ball
float r;
//The x coordinate of the ball
float x0;
//The y coordinate of the ball
float y0;
//The z coordinate of the ball
float z0;
//The angle at which the ball is traveling. An angle of 0 indicates the
//positive x direction, while an angle of PI / 2 indicates the positive
//z direction. The angle is always between 0 and 2 * PI.
float angle0;
//The fraction that the ball is "faded in", from 0 to 1. It is not 1
//when the ball is fading in or out.
float fadeAmount0;
//Whether the ball is fading out
bool isFadingOut0;
//collision detection
void DetectCollision();
public:
//Constructs a new ball with the specified radius, x, y and z coordinates,
//and angle of travel. An angle of 0 indicates the positive x
//direction, while an angle of PI / 2 indicates the positive z
//direction. The angle must be between 0 and 2 * PI.
Ball();
//Returns the radius of the ball
float radius();
//Returns the x coordinate of the ball
float x();
//returns the z coordinate of the ball
float y();
//Returns the z coordinate of the ball
float z();
//Returns the angle at which the ball is traveling. An angle of 0
//indicates the positive x direction, while an angle of PI / 2 indicates
//the positive z direction. The returned angle is between 0 and 2 * PI.
float angle();
//Causes the ball to begin fading out
void fadeOut();
//Returns whether the ball is fading out
bool isFadingOut();
//sets the angle of ball
void setangle();
//checks whether the left key is pressed
void checkleftkey();
//checks whether the right key is pressed
void checkrightkey();
//checks whether the up key is currently depressed
void checkupkey();
//checks whether the down key is currently depressed
void checkdownkey();
};
I hope you guys got a little idea about this game. Download it's complete source code and compiled it in code block or visual studio but don't forget to set up GLUT(OpenGL).
Thank you.
reupload plz
ReplyDeleteThe file had been deleted. Can you upload again? thanks
ReplyDeleteupload it
ReplyDelete