test
This commit is contained in:
parent
37776af5db
commit
ab03d5f10c
4045 changed files with 286212 additions and 3 deletions
100
.config/Code/User/History/1c5cab58/12IX.cpp
Normal file
100
.config/Code/User/History/1c5cab58/12IX.cpp
Normal file
|
@ -0,0 +1,100 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
103
.config/Code/User/History/1c5cab58/1WEj.cpp
Normal file
103
.config/Code/User/History/1c5cab58/1WEj.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle*& GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
99
.config/Code/User/History/1c5cab58/2iVV.cpp
Normal file
99
.config/Code/User/History/1c5cab58/2iVV.cpp
Normal file
|
@ -0,0 +1,99 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
136
.config/Code/User/History/1c5cab58/3SxJ.cpp
Normal file
136
.config/Code/User/History/1c5cab58/3SxJ.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives, std::string& gameState){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) gameState = "gameover";
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
136
.config/Code/User/History/1c5cab58/3bsX.cpp
Normal file
136
.config/Code/User/History/1c5cab58/3bsX.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives, int& gameState){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
// if(lives <= 0) gameState = "gameover";
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
105
.config/Code/User/History/1c5cab58/42cI.cpp
Normal file
105
.config/Code/User/History/1c5cab58/42cI.cpp
Normal file
|
@ -0,0 +1,105 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
96
.config/Code/User/History/1c5cab58/7AKD.cpp
Normal file
96
.config/Code/User/History/1c5cab58/7AKD.cpp
Normal file
|
@ -0,0 +1,96 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
cout<<"Nice\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
96
.config/Code/User/History/1c5cab58/9pQn.cpp
Normal file
96
.config/Code/User/History/1c5cab58/9pQn.cpp
Normal file
|
@ -0,0 +1,96 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) broken = bricks[i][j]->checkCollision(*balls[i]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
cout<<"Nice\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
96
.config/Code/User/History/1c5cab58/BFrg.cpp
Normal file
96
.config/Code/User/History/1c5cab58/BFrg.cpp
Normal file
|
@ -0,0 +1,96 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) broken = bricks[i][j]->checkCollision(*balls[i]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
cout<<"Nice\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
135
.config/Code/User/History/1c5cab58/DeNW.cpp
Normal file
135
.config/Code/User/History/1c5cab58/DeNW.cpp
Normal file
|
@ -0,0 +1,135 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
130
.config/Code/User/History/1c5cab58/DyXV.cpp
Normal file
130
.config/Code/User/History/1c5cab58/DyXV.cpp
Normal file
|
@ -0,0 +1,130 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(){
|
||||
for(int i=0;i<3;i++){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
108
.config/Code/User/History/1c5cab58/EirW.cpp
Normal file
108
.config/Code/User/History/1c5cab58/EirW.cpp
Normal file
|
@ -0,0 +1,108 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++)
|
||||
if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
}
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
136
.config/Code/User/History/1c5cab58/Ibp8.cpp
Normal file
136
.config/Code/User/History/1c5cab58/Ibp8.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
// if(lives <= 0) gameState = "gameover";
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
95
.config/Code/User/History/1c5cab58/IkFP.cpp
Normal file
95
.config/Code/User/History/1c5cab58/IkFP.cpp
Normal file
|
@ -0,0 +1,95 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
103
.config/Code/User/History/1c5cab58/KjCi.cpp
Normal file
103
.config/Code/User/History/1c5cab58/KjCi.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
147
.config/Code/User/History/1c5cab58/MUQ3.cpp
Normal file
147
.config/Code/User/History/1c5cab58/MUQ3.cpp
Normal file
|
@ -0,0 +1,147 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) exit(0);
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkLevelEnd(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
103
.config/Code/User/History/1c5cab58/PkYy.cpp
Normal file
103
.config/Code/User/History/1c5cab58/PkYy.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
124
.config/Code/User/History/1c5cab58/R07i.cpp
Normal file
124
.config/Code/User/History/1c5cab58/R07i.cpp
Normal file
|
@ -0,0 +1,124 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
138
.config/Code/User/History/1c5cab58/S5D0.cpp
Normal file
138
.config/Code/User/History/1c5cab58/S5D0.cpp
Normal file
|
@ -0,0 +1,138 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives, std::string& gameState){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
96
.config/Code/User/History/1c5cab58/T4fm.cpp
Normal file
96
.config/Code/User/History/1c5cab58/T4fm.cpp
Normal file
|
@ -0,0 +1,96 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken[3] = {false};
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) broken = bricks[i][j]->checkCollision(*balls[i]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
cout<<"Nice\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
97
.config/Code/User/History/1c5cab58/U6ua.cpp
Normal file
97
.config/Code/User/History/1c5cab58/U6ua.cpp
Normal file
|
@ -0,0 +1,97 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
136
.config/Code/User/History/1c5cab58/UIso.cpp
Normal file
136
.config/Code/User/History/1c5cab58/UIso.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) exit(0);
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
103
.config/Code/User/History/1c5cab58/VODp.cpp
Normal file
103
.config/Code/User/History/1c5cab58/VODp.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
136
.config/Code/User/History/1c5cab58/XBJ1.cpp
Normal file
136
.config/Code/User/History/1c5cab58/XBJ1.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives, std::string& gameState){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) gameState = "gameover";
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
122
.config/Code/User/History/1c5cab58/YxJx.cpp
Normal file
122
.config/Code/User/History/1c5cab58/YxJx.cpp
Normal file
|
@ -0,0 +1,122 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
135
.config/Code/User/History/1c5cab58/bWO2.cpp
Normal file
135
.config/Code/User/History/1c5cab58/bWO2.cpp
Normal file
|
@ -0,0 +1,135 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball();
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
99
.config/Code/User/History/1c5cab58/bk0E.cpp
Normal file
99
.config/Code/User/History/1c5cab58/bk0E.cpp
Normal file
|
@ -0,0 +1,99 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(60, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(60, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
109
.config/Code/User/History/1c5cab58/cTcj.cpp
Normal file
109
.config/Code/User/History/1c5cab58/cTcj.cpp
Normal file
|
@ -0,0 +1,109 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
112
.config/Code/User/History/1c5cab58/edm8.cpp
Normal file
112
.config/Code/User/History/1c5cab58/edm8.cpp
Normal file
|
@ -0,0 +1,112 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
115
.config/Code/User/History/1c5cab58/edmd.cpp
Normal file
115
.config/Code/User/History/1c5cab58/edmd.cpp
Normal file
|
@ -0,0 +1,115 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
148
.config/Code/User/History/1c5cab58/ehjs.cpp
Normal file
148
.config/Code/User/History/1c5cab58/ehjs.cpp
Normal file
|
@ -0,0 +1,148 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) exit(0);
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool GameLevel::checkLevelEnd(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
1
.config/Code/User/History/1c5cab58/entries.json
Normal file
1
.config/Code/User/History/1c5cab58/entries.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":1,"resource":"file:///home/rafayahmad/Stuff/OOP/Project/GameLevel.cpp","entries":[{"id":"nop8.cpp","timestamp":1715078946301},{"id":"BFrg.cpp","timestamp":1715079745247},{"id":"T4fm.cpp","timestamp":1715079870934},{"id":"9pQn.cpp","timestamp":1715079893776},{"id":"7AKD.cpp","timestamp":1715079908069},{"id":"IkFP.cpp","timestamp":1715080296440},{"id":"U6ua.cpp","timestamp":1715141929137},{"id":"wGto.cpp","timestamp":1715141979696},{"id":"vba8.cpp","timestamp":1715141995823},{"id":"bk0E.cpp","timestamp":1715142023546},{"id":"2iVV.cpp","timestamp":1715144403760},{"id":"12IX.cpp","timestamp":1715144934355},{"id":"hAvY.cpp","timestamp":1715160439770},{"id":"kSWI.cpp","timestamp":1715160735097},{"id":"PkYy.cpp","timestamp":1715160745588},{"id":"1WEj.cpp","timestamp":1715160832000},{"id":"zH6Z.cpp","timestamp":1715160922585},{"id":"KjCi.cpp","timestamp":1715160936238},{"id":"qpDg.cpp","timestamp":1715160957745},{"id":"VODp.cpp","timestamp":1715161351155},{"id":"gi4S.cpp","timestamp":1715161402472},{"id":"42cI.cpp","timestamp":1715161540926},{"id":"EirW.cpp","timestamp":1715174787013},{"id":"cTcj.cpp","timestamp":1715174805137},{"id":"edm8.cpp","timestamp":1715174827298},{"id":"edmd.cpp","timestamp":1715174841871},{"id":"kBW0.cpp","timestamp":1715174857995},{"id":"YxJx.cpp","timestamp":1715174877931},{"id":"R07i.cpp","timestamp":1715179868998},{"id":"gHZR.cpp","timestamp":1715180649987},{"id":"wfLq.cpp","timestamp":1715180683383},{"id":"ustw.cpp","timestamp":1715180709653},{"id":"DyXV.cpp","timestamp":1715180733296},{"id":"zYki.cpp","timestamp":1715180785756},{"id":"s4td.cpp","timestamp":1715180851255},{"id":"uXRe.cpp","timestamp":1715180870944},{"id":"bWO2.cpp","timestamp":1715180890094},{"id":"DeNW.cpp","timestamp":1715180956765},{"id":"yFkl.cpp","timestamp":1715182441664},{"id":"S5D0.cpp","timestamp":1715182459901},{"id":"XBJ1.cpp","timestamp":1715182571822},{"id":"3bsX.cpp","timestamp":1715185126033},{"id":"nTG4.cpp","timestamp":1715185191073},{"id":"fqCN.cpp","timestamp":1715185250946},{"id":"3SxJ.cpp","timestamp":1715185365569},{"id":"Ibp8.cpp","timestamp":1715185954878},{"id":"UIso.cpp","timestamp":1715186100070},{"id":"oGSq.cpp","timestamp":1715186167707},{"id":"MUQ3.cpp","timestamp":1715186200653},{"id":"ehjs.cpp","timestamp":1715186220307}]}
|
136
.config/Code/User/History/1c5cab58/fqCN.cpp
Normal file
136
.config/Code/User/History/1c5cab58/fqCN.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives, int& gameState){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
// if(lives <= 0) gameState = "gameover";
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
128
.config/Code/User/History/1c5cab58/gHZR.cpp
Normal file
128
.config/Code/User/History/1c5cab58/gHZR.cpp
Normal file
|
@ -0,0 +1,128 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(){
|
||||
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
104
.config/Code/User/History/1c5cab58/gi4S.cpp
Normal file
104
.config/Code/User/History/1c5cab58/gi4S.cpp
Normal file
|
@ -0,0 +1,104 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
100
.config/Code/User/History/1c5cab58/hAvY.cpp
Normal file
100
.config/Code/User/History/1c5cab58/hAvY.cpp
Normal file
|
@ -0,0 +1,100 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
117
.config/Code/User/History/1c5cab58/kBW0.cpp
Normal file
117
.config/Code/User/History/1c5cab58/kBW0.cpp
Normal file
|
@ -0,0 +1,117 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
if(paddle2 != nullptr) delete paddle2;
|
||||
}
|
103
.config/Code/User/History/1c5cab58/kSWI.cpp
Normal file
103
.config/Code/User/History/1c5cab58/kSWI.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle2(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
136
.config/Code/User/History/1c5cab58/nTG4.cpp
Normal file
136
.config/Code/User/History/1c5cab58/nTG4.cpp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives, std::string& gameState){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) gameState = "gameover";
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
96
.config/Code/User/History/1c5cab58/nop8.cpp
Normal file
96
.config/Code/User/History/1c5cab58/nop8.cpp
Normal file
|
@ -0,0 +1,96 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken;
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) broken = bricks[i][j]->checkCollision(*balls[i]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
cout<<"Nice\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
141
.config/Code/User/History/1c5cab58/oGSq.cpp
Normal file
141
.config/Code/User/History/1c5cab58/oGSq.cpp
Normal file
|
@ -0,0 +1,141 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0) exit(0);
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkLevelEnd(){
|
||||
|
||||
}
|
||||
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
103
.config/Code/User/History/1c5cab58/qpDg.cpp
Normal file
103
.config/Code/User/History/1c5cab58/qpDg.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
131
.config/Code/User/History/1c5cab58/s4td.cpp
Normal file
131
.config/Code/User/History/1c5cab58/s4td.cpp
Normal file
|
@ -0,0 +1,131 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
134
.config/Code/User/History/1c5cab58/uXRe.cpp
Normal file
134
.config/Code/User/History/1c5cab58/uXRe.cpp
Normal file
|
@ -0,0 +1,134 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
131
.config/Code/User/History/1c5cab58/ustw.cpp
Normal file
131
.config/Code/User/History/1c5cab58/ustw.cpp
Normal file
|
@ -0,0 +1,131 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(){
|
||||
|
||||
for(int i=0;i<3;i++){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
99
.config/Code/User/History/1c5cab58/vba8.cpp
Normal file
99
.config/Code/User/History/1c5cab58/vba8.cpp
Normal file
|
@ -0,0 +1,99 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(60, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(60, 850, to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
99
.config/Code/User/History/1c5cab58/wGto.cpp
Normal file
99
.config/Code/User/History/1c5cab58/wGto.cpp
Normal file
|
@ -0,0 +1,99 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(60, 850, to_string(score), colors[BLACK]);
|
||||
DrawString(60, 850, to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
130
.config/Code/User/History/1c5cab58/wfLq.cpp
Normal file
130
.config/Code/User/History/1c5cab58/wfLq.cpp
Normal file
|
@ -0,0 +1,130 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(){
|
||||
for(int i=0;i<3;i++){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
138
.config/Code/User/History/1c5cab58/yFkl.cpp
Normal file
138
.config/Code/User/History/1c5cab58/yFkl.cpp
Normal file
|
@ -0,0 +1,138 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
bool ballsLeft = false;
|
||||
for(int i=0;i<3;i++){
|
||||
if(balls[i] != nullptr) ballsLeft = true;
|
||||
}
|
||||
if(!ballsLeft){
|
||||
lives--;
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
}
|
||||
if(lives <= 0){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
103
.config/Code/User/History/1c5cab58/zH6Z.cpp
Normal file
103
.config/Code/User/History/1c5cab58/zH6Z.cpp
Normal file
|
@ -0,0 +1,103 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) delete balls[i];
|
||||
delete[] balls;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) delete bricks[i][j];
|
||||
if(food[i][j] != nullptr) delete food[i][j];
|
||||
}
|
||||
delete[] bricks[i];
|
||||
delete[] food[i];
|
||||
}
|
||||
delete[] bricks;
|
||||
delete[] food;
|
||||
}
|
130
.config/Code/User/History/1c5cab58/zYki.cpp
Normal file
130
.config/Code/User/History/1c5cab58/zYki.cpp
Normal file
|
@ -0,0 +1,130 @@
|
|||
#include "GameLevel.h"
|
||||
#include "util.h"
|
||||
#include "GreenFood.cpp"
|
||||
#include "PinkFood.cpp"
|
||||
#include "BlueFood.cpp"
|
||||
#include "RedFood.cpp"
|
||||
#include "YellowFood.cpp"
|
||||
|
||||
GameLevel::GameLevel() : score(0), lives(2), paddle(Paddle(125, 10, 10, colors[GRAY])), paddle2(nullptr){
|
||||
bricks = new Brick**[25];
|
||||
food = new Food**[25];
|
||||
|
||||
balls = new Ball*[3];
|
||||
balls[0] = new Ball(-10, 50, 10, colors[RED]);
|
||||
for(int i=1;i<3;i++) balls[i] = nullptr;
|
||||
|
||||
for(int i=0;i<25;i++){
|
||||
bricks[i] = new Brick*[15];
|
||||
food[i] = new Food*[15];
|
||||
for(int j=0;j<15;j++){
|
||||
bricks[i][j] = nullptr;
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::draw(){
|
||||
DrawRectangle(0, 840, 1050, 30, colors[GRAY]);
|
||||
DrawString(10, 850, "Rafay Ahmad 23i-2526", colors[BLACK]);
|
||||
DrawString(300, 850, "Score: " + to_string(score), colors[BLACK]);
|
||||
DrawString(600, 850, "Lives: " + to_string(lives), colors[BLACK]);
|
||||
paddle.draw();
|
||||
if(paddle2 != nullptr) paddle2->draw();
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr) balls[i]->draw();
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr) bricks[i][j]->draw(i, j);
|
||||
if(food[i][j] != nullptr) food[i][j]->draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBalls(int& lives){
|
||||
for(int i=0;i<3;i++){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkBrickCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
bool broken = false;
|
||||
for(int k=0;k<3;k++) if(balls[k] != nullptr) broken = bricks[i][j]->checkCollision(*balls[k]);
|
||||
food[i][j] = bricks[i][j]->getFood();
|
||||
if(broken){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::moveFood(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr) food[i][j]->fall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameLevel::checkFoodCollision(){
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(food[i][j] != nullptr){
|
||||
if(food[i][j]->getX() > paddle.getX() && food[i][j]->getX() < paddle.getX()+paddle.getWidth() && food[i][j]->getY() < paddle.getY()+paddle.getHeight() && food[i][j]->getY() > 0){
|
||||
food[i][j]->activatePowerup(paddle, balls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int& GameLevel::getLives(){
|
||||
return lives;
|
||||
}
|
||||
Ball**& GameLevel::getBalls(){
|
||||
return balls;
|
||||
}
|
||||
Paddle& GameLevel::getPaddle(){
|
||||
return paddle;
|
||||
}
|
||||
Paddle* GameLevel::getPaddle2(){
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GameLevel::~GameLevel(){
|
||||
for(int i=0;i<3;i++) if(balls[i] != nullptr){
|
||||
delete balls[i];
|
||||
balls[i] = nullptr;
|
||||
}
|
||||
delete[] balls;
|
||||
balls = nullptr;
|
||||
for(int i=0;i<25;i++){
|
||||
for(int j=0;j<15;j++){
|
||||
if(bricks[i][j] != nullptr){
|
||||
delete bricks[i][j];
|
||||
bricks[i][j] = nullptr;
|
||||
}
|
||||
if(food[i][j] != nullptr){
|
||||
delete food[i][j];
|
||||
food[i][j] = nullptr;
|
||||
}
|
||||
}
|
||||
delete[] bricks[i];
|
||||
bricks[i] = nullptr;
|
||||
delete[] food[i];
|
||||
food[i] = nullptr;
|
||||
}
|
||||
delete[] bricks;
|
||||
bricks = nullptr;
|
||||
delete[] food;
|
||||
food = nullptr;
|
||||
if(paddle2 != nullptr){
|
||||
delete paddle2;
|
||||
paddle2 = nullptr;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue