Question: I have this c code for bouncing ball and it works great but i added a paddle to the game. Now i want to make

I have this c code for bouncing ball and it works great but i added a paddle to the game. Now i want to make the ball hit the paddle and go back. And if hit the floor then game is over

#include #include #include #include #define SCREEN_WIDTH 60 #define SCREEN_HEIGHT 20 #define BALL_VELOCITY 1 #define PADDLE_WIDTH 20 #define PADDLE_Y SCREEN_HEIGHT - 2

int main() { // Initialize the random number generator. srand(time(NULL));

// Initialize the ball position and velocity. int ball_x = SCREEN_WIDTH / 2; int ball_y = 1; int ball_velocity_x = BALL_VELOCITY; int ball_velocity_y = BALL_VELOCITY;

int paddle_x = SCREEN_WIDTH / 2 - PADDLE_WIDTH / 2;

// Draw the paddle. for (int i = 0; i < paddle_x; i++) { printf(" "); }

for (int i = 0; i < PADDLE_WIDTH; i++) { printf("_"); }

printf(" ");

while (1) { // Clear the screen. system("cls");

// Draw the ceiling. for (int i = 0; i < SCREEN_WIDTH + 2; i++) { printf("x"); } printf(" ");

// Draw the ball. for (int i = 0; i < ball_y; i++) { printf(" "); } for (int i = 0; i < ball_x; i++) { if (i == SCREEN_WIDTH / 2 - 3 || i == SCREEN_WIDTH / 2 + 2) { printf(" "); } else { printf(" "); } } printf("O ");

// Draw the paddle. for (int i = ball_y + 1; i < SCREEN_HEIGHT; i++) { printf(" "); } for (int i = 0; i < paddle_x; i++) { printf(" "); } for (int i = 0; i < PADDLE_WIDTH; i++) { printf("_"); }

printf(" ");

// Check for user input to move the paddle. if (_kbhit()) { char key = _getch(); if (key == 77) // right arrow key { if (paddle_x < SCREEN_WIDTH - PADDLE_WIDTH) { paddle_x += 1; } } else if (key == 75) // left arrow key { if (paddle_x > 0) { paddle_x -= 1; } } }

// Update the ball position and velocity. ball_x += ball_velocity_x; ball_y += ball_velocity_y;

if (ball_x == 0 || ball_x == SCREEN_WIDTH - 1) { ball_velocity_x = -ball_velocity_x; } if (ball_y == 0 || ball_y == SCREEN_HEIGHT - 1) { ball_velocity_y = -ball_velocity_y; }

// Wait for a short time to control the game speed. for (int i = 0; i < 100000000; i++) {

} }

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!