Question: Hello I HAVE THIS CODE FOR BOUNCING BALL AND IT WORKS GOOD. I WANT TO ADD TWO HOLES ONE ON LEFT TOP CORNER AND THE
Hello I HAVE THIS CODE FOR BOUNCING BALL AND IT WORKS GOOD. I WANT TO ADD TWO HOLES ONE ON LEFT TOP CORNER AND THE OTHER ONE ON THE RIGHT TOP CORNER. AND MAKE IT IF THE BALL GOES IN IT COMES OUT FROM THE OTHERSIDE TWO BALLS.
PLEASE DO IT RIGHT!!
#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;
// Initialize the paddle position. int paddle_x = SCREEN_WIDTH / 2 - PADDLE_WIDTH / 2;
// Game loop. 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 += 10; } } else if (key == 75) // left arrow key { if (paddle_x > 0) { paddle_x -= 10; } } }
// 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_velocity_y = -ball_velocity_y; } if (ball_y == PADDLE_Y && ball_x >= paddle_x && ball_x < paddle_x + PADDLE_WIDTH) { ball_velocity_y = -ball_velocity_y; } if (ball_y == SCREEN_HEIGHT - 1) { printf("Game over! "); break; }
// 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
Get step-by-step solutions from verified subject matter experts
