Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielbrodi/arkanoid
A full implementation of the classic Arkanoid block breaker game using Java. Includes a menu and an animaiton of a timer at the beginning of each level, records and stores highest store in a local file and it's possible to personalize the block design of each level. In order to add or edit levels in the game, you don't have to learn to code.
https://github.com/danielbrodi/arkanoid
animation animations class game game-2d game-development gui inheritance input-output interface java leaderboard memory-management menu-navigation object-oriented-programming objects oop project
Last synced: 22 days ago
JSON representation
A full implementation of the classic Arkanoid block breaker game using Java. Includes a menu and an animaiton of a timer at the beginning of each level, records and stores highest store in a local file and it's possible to personalize the block design of each level. In order to add or edit levels in the game, you don't have to learn to code.
- Host: GitHub
- URL: https://github.com/danielbrodi/arkanoid
- Owner: danielbrodi
- License: mit
- Created: 2021-01-06T22:59:15.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-14T17:39:16.000Z (about 1 month ago)
- Last Synced: 2024-12-14T18:34:35.403Z (about 1 month ago)
- Topics: animation, animations, class, game, game-2d, game-development, gui, inheritance, input-output, interface, java, leaderboard, memory-management, menu-navigation, object-oriented-programming, objects, oop, project
- Language: Java
- Homepage:
- Size: 746 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arkanoid [![](https://komarev.com/ghpvc/?username=brodiArkanoid&style=pixel&label=Repo%20Views&color=0e75b6)](#)
Final product of a 5-part-semester project in Java. This project was coded as a five-part ongoing assignment on the 2nd semester of my 1st year at `Bar Ilan University`.
This project was coded using a single thread, which is rare for games such as this. Also, it uses no Java GUI Built-In objects, instead, I used a GUI implementation which is included in this repository.# Creating and Editing Levels
This is a special arkanoid game: In order to add or edit levels in the game, you don't have to learn to code! Inside the [definitions folder](./resources/definitions) you will find simple txt files. The [default levels](./resources/Default_Levels.txt) file defines each level's charateristics in the game. By writing in this file you can edit the design of the game. Without coding, you can change anything from the name of the level, the images, the number of balls, the velocities, the blocks, etc.In addition, each level has its own file in which you can further personalize the blocks desing of each level separately.
The game is made in a way that is able to read the txt file, and change the code according to that!
# Compiling and Running
You must have Java SE 10 or higher installed on your machine.
You can download the entire source code and run the game via any Java IDEA, if you do be sure to also download the provided *biuoop-1.4.jar* (located [here](./biuoop-1.4.jar)).
Compiling the code should work using the command:`ant compile`
and running it is with (should run also without args):
`ant -Dargs="path_to_level_file" run`
*(if the level file is not found - the [default levels](./resources/Default_Levels.txt) file will be played. If the background image file is not found, the default background is clean white).*
![opening screen](./screenshots/1.jpg)
![level1](./screenshots/2.jpg)
![level2](./screenshots/3.jpg)
![randomlevel](./screenshots/4.jpg)