Skip to content

🎮 This repository hosts a Bouncing Ball game coded in JavaFX, offering a fun and interactive gameplay experience. It showcases object movement, collision detection, and score tracking, serving as a great example for developers interested in game development using JavaFX.

License

Notifications You must be signed in to change notification settings

hoangsonww/Bouncing-Ball-Game-JavaFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bouncing Ball Game with JavaFX

Table of Contents

Overview

The Bouncing Ball game is a simple, interactive JavaFX application where a ball bounces around the screen. Users can control the speed of the ball using the up and down arrow keys. The game demonstrates the use of JavaFX animation and event handling capabilities.

How to Play

  1. Start the Game: Run the application to start the game. The ball will start bouncing around the screen.
  2. Objective: Reach the number of bounces required to win the game without the ball going too fast.
  3. Control the Ball Speed: Use the UP and DOWN arrow keys to increase or decrease the ball speed, respectively.
  4. Win or Lose: If the ball reaches the required number of bounces without exceeding the maximum speed, you win. Otherwise, you lose.
  5. Play Again: After winning or losing, you can play the game again by clicking the "Play Again" button.

User Interface

Welcome Screen

Bouncing Ball Game Welcome Screen

Game Interface

Bouncing Ball Game Interface

Win Screen

Bouncing Ball Game Win Screen

Lose Screen

Bouncing Ball Game Lose Screen

Features

  • Ball speed control with keyboard inputs (UP to increase speed, DOWN to decrease speed).
  • Dynamic color change of the ball upon collision with the screen boundaries.
  • Display of current ball speed on the screen.
  • Game over screen with a win or lose message based on the ball speed.
  • Different background colors for the game interface and game over screens.
  • Customizable ball size, speed, and screen dimensions.
  • And more!

Prerequisites

  • JDK 11 or above.
  • Maven (for building the project).
  • JavaFX SDK (compatible with your JDK version).
  • A Java IDE (e.g. IntelliJ IDEA or Eclipse) is highly recommended.

Setup and Installation

  1. Download JavaFX SDK: Download the JavaFX SDK from the OpenJFX website and extract it to a known location on your machine.
  2. Clone the Repository: Clone this repository to your local machine using git clone https://github.com/hoangsonww/Space-Invader-Game-JavaFX.git.
  3. Open the Project: Open the project in your Java IDE (e.g., IntelliJ IDEA).
  4. Configure JavaFX SDK: Configure the JavaFX SDK in your IDE by adding it as a library to the project.
  5. Run the Application: Run the application using the IDE or Maven commands.

Configuration

Before running the application, ensure that JavaFX is properly configured in your IDE (e.g., IntelliJ IDEA, Eclipse):

  • IntelliJ IDEA:

    1. Go to File > Project Structure > Libraries and add the JavaFX SDK as a library to the project.
    2. In the Run configurations, add the VM options to include the JavaFX modules:
      --module-path "path/to/javafx-sdk/lib" --add-modules javafx.controls,javafx.fxml
      
      Replace "path/to/javafx-sdk/lib" with the actual path to the JavaFX SDK lib directory on your machine.
  • Eclipse:

    1. Right-click on the project > Properties > Java Build Path > Libraries and add the JavaFX SDK as an external JAR.
    2. In the run configurations, add the VM arguments similar to the IntelliJ setup.

Running the Application

To run the application, navigate to the src/com/example/bouncingballgamejavafx directory and compile the BouncingBall.java file. Then, execute the main method within the BouncingBall class.

Ensure that the JavaFX SDK is properly configured in your IDE before running the application.

Alternatively, you can run the application using the following Maven command:

mvn clean javafx:run

Contributing

Contributions to the Bouncing Ball game are welcome. Please feel free to fork the repository, make your changes, and submit a pull request.

License

This project is licensed under the MIT license. See LICENSE for more details.

Author


Created with ❤️ by Son Nguyen in 2024.

About

🎮 This repository hosts a Bouncing Ball game coded in JavaFX, offering a fun and interactive gameplay experience. It showcases object movement, collision detection, and score tracking, serving as a great example for developers interested in game development using JavaFX.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages