Formula1 is a JavaFx desktop application that allows users to recrate the old paper and pencil vector rally
- The application allows user to start a game and play against 3 bots.
- The application keep track of the time (in seconds) elapsed from the beginning of the race.
- A race only have one lap.
- Both bots paths and track can be uploaded via json files.
-
To start a new game just move the player in one of the near 8 buttons available to make it move.
-
The game follows the rules of the original vector rally:
-
Each turn you can speed up (accelerate), slow down (decelerate) or maintain the same speed. When you accelerate from the starting point (the gray cross on the left), you start by moving 1 square. The next turn you move 2 squares, then squares, and so on. So when accelerating you increase the number of squares by 1 each turn.
-
When decelerating you do the opposite, you decrease the number of squares by 1 each turn. So when you move 5 squares, the next turn you move 4 squares, then 3, and so on, until you come to a stop. You can also choose to maintain the same speed by moving the same number of squares as on the previous turn.
-
-
If a player goes above the limit of the track, it is consider a crash and the game will restart.
-
The first player taht make a lap win the race and the game restart itself.
-
The user can easly force restart the game by pressing the red button.
See the open issues for a full list of proposed features (and known issues).
Follow these steps to setup the project locally on your machine.
For a correct installation of the project make sure to have both Java and Gradle installed on your local machine. These are the minimum version required for the project:
JVM 21+
Gradle 8.5+
To check the correct installation of both software please run:
gradle --version
- Clone the repo
git clone https://github.com/fres-sudo/formula1.git
- Build the project
gradle build
- Run the project
gradle run
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
- π¬ Email: francescocalicchio@hotmail.com
- π€ Linkedin: francesco-calicchio
Project Link: https://github.com/fres-sudo/formula1