ICT221: Building a 2D Puzzle Game with Java & JavaFX GUI

Verified

Added on  2023/03/30

|4
|770
|275
Project
AI Summary
This Java project presents the development of a 2D puzzle game using Java and JavaFX. The game, designed as a single-player experience, involves navigating an empty cell from the start to the end point while avoiding obstacles. Developed in IntelliJ IDE, the game features adjustable difficulty levels through obstacle control. The inclusion of a pathfinder assists new players, and the game's UML diagram and GUI sketches are provided. The reflection discusses challenges and potential improvements, such as automated level progression, making it a comprehensive study resource. Desklib provides access to similar solved assignments and past papers for students.
Document Page
GAME PROGRAMMING IN JAVA
Student Name
College
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Introduction
The game puzzle which has been developed is a 2D puzzle game which has its nature as a single
player. The game is developed in java programming language extension called javafx. Its
developed was done using intellij IDE which is among the many IDE for java development. The
player of the game is supposed to move from the start of the game cell, following the empty cells
as a way of escaping the obstacles until the player reaches the end of the game (Anon, n.d.).
In order for the player of the game to be able to win the game, then the player is supposed to
successfully move the empty cell from the start of the game to the end of the game without
meeting the obstacle. The player has to think on the possible ways under which the cell can reach
the end of point of the game without any fault and using the shortest way possible. In the game,
there is also an advanced level option where the user of the game is able to move to the next level
of the game which is much more complex in nature (Anon, n.d.). As the player advances in the
game level, the more complex the game turns out. Till the time the player has reached the end of
the last level, then the player would have won the whole puzzle.
The game has the beginning cell and the end cell. This are specific places in the game where the
game has to start from, in this development, the game begin form the top right corner of the game
and ends at the bottom right corner of the game. The player has the rights to have control over the
total number of obstacles that wishes to have. This creates an easy way of winning the game for
the new players also. The complex the game it the more its liked by the players of the game since
they always wish to win the game and be a winner (Anon, n.d.).
New users of the game have advantages to know how the game is played as the functionality of
path finder has been added into the game, this functionality helps the new users to be able to
check and paths where the player is able to reach the destination easily (Anon, n.d.). This is the
path finder for the game. There is also another button and functionality of making the guide of
how the game is being played and the diagonals and axis of every cells and if the cell has the
obstacle or now.
Document Page
UML Diagram
GUI Sketches
Document Page
Reflection
When I was developing the game, I was to make sure that the game follows the UML diagram
which I have attached above. Also the sketch drawn above was a true representation of how the
game had to be developed. The inclusion of all the functionalities which have been attached in
the UML diagram was not an easy task though I managed to fulfill all the functionalities I
thought they are important.
The implementation of the advanced levels in the game was among the functionalities I thought
they are very crucial. Though this functionality is just simple and not that sophisticated, the
player of the game is able to change the level of the game manually by adding the number of
obstacles in the game cells. This makes it very hard for the player to move the empty cell from
the start to the end. The use of slide bar made it possible for the implementation of the level
functionality.
I also managed to distinguish the cells with obstacles and empty cells which two distinct colors
using javafx css platform, this makes it very easier for the player to be able to know where the
obstacles are so that they can be able to avoid them during the play.
If given enough time to continue with the development of the puzzle game, I could improve on
the level functionality to make sure that the game navigates to the next level automatically
updating the features of the level automatically. This could be the best way of making the game
more interesting and friendly to the users.
References
Anon, (n.d.). Game programming - Wikipedia. [online] Available at:
https://en.wikipedia.org/wiki/Game_programming [Accessed 2019].
Anon, (n.d.). Game programming for beginners - Game Code School. [online] Available at:
http://gamecodeschool.com/ [Accessed 2019].
Anon, (n.d.). Java Programming - Princeton University. [online] Available at:
https://introcs.cs.princeton.edu/java/10elements/ [Accessed 2019].
Anon, (n.d.). The 6 Best Programming Languages for Game Design. [online] Available at:
https://www.gamedesigning.org/career/programming-languages/ [Accessed 2019].
chevron_up_icon
1 out of 4
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]