ICT221 Java Programming: Implementation of a Puzzle Game with GUI

Verified

Added on  2023/03/31

|5
|778
|124
Practical Assignment
AI Summary
This document details the implementation of a puzzle game in Java, utilizing JavaFX for the graphical user interface. The game allows a player to navigate through obstacles by pushing boxes, with increasing difficulty levels. Key features include start and termination functionalities, administrative rights for object reshuffling, and a 'show path' button for guidance. The design incorporates object-oriented programming principles and addresses challenges such as level switching and obstacle management. The A* algorithm is used for optimal game functionality. While the core requirements are met, suggestions for improved user experience, such as enhanced tab and page scrolling, are proposed. Desklib offers students access to this assignment and many other solved assignments.
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
GAME PROGRAMMING IN JAVA
Student Name
College
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Introduction
As it is well known everywhere, puzzle kind of a game is always a single user manner of a game.
This is the core issue lying under this write-up. It allows the player to be able to navigate through
all the obstacles by pushing forward the empty boxes without knocking any of them (Anon, n.d.).
JavaFX and IntelliJ which are borrowing their capabilities from Java programming were
employed in real development.
This game that is created is very powerful in the manner in which it works. There are serious
conditions if the player will reach the end of the game successfully. It is required of him or her to
be able to overcome all the obstacles that may be in the way as all the empty boxes are pushed
meticulously until all of them have been marked as moved. The designer also ensures that each
and every time the client or rather the user wins; the next play becomes more involving than the
preceding (Anon, n.d.). As the player wins, the obstacles to be overcome becomes more
exponentially as the priorities set by the multilevel functionality hike. It has all the features of
OOP.
It is paramount for each and every game to have the starting and termination functionalities.
Without these, the game reduces into a sham. In this game, these have been implemented to the
letter. Towards the left far end of the game is the start while the termination is found on the
opposite right side.
Here the expertise of the player matters, in order to either add or eliminate obstacles, he must
possess some administrative rights which help him to be able to perform all the reshuffling of the
objects in the game (Anon, n.d.).
It is not very easy for the fresh players to understand when the game ends, therefore, allow path
button was included to guide them all the way. As it is not enough, the user can take different
directions in order to terminate the game which is made possible by the show path button.
From the radio button given, the naïve and the new players can find their way to the game
without many struggles.
Document Page
UML Diagram
GUI Sketches
Document Page
Reflection
It is a matter worth noting that all the requirements that were provided in the initial sketch were
not completely implemented. Otherwise, the programmer thought it very wise to have more other
extra functionalities that could fight with the obstacles that are often accompanied by the play.
This feature was noted to be very helpful to the player because he or she could be able to
eliminate the bugs himself without the help of the programmer. In this case, the client is the main
figure who manages what his application should do. Some of the few issues found to be serious
like doe functionality were noticed to be challenging in the implementation of the play and these
together with both cells and grids included in the game were the foundational features to be
included.
In the relationship between the cells and the values, the diagonals were put in place and
implemented. According to the programmer, these functionalities would help the player to locate
the values assigned to each and every cell without challenge. In order to find the termination
point of the game, the programmer was also able to implement the show path feature of the game.
Above all the functionalities of the game, one remains prime and that is how the game works, for
that matter A* algorithm was performed so especially to realize this end.
In the designing and creation of the game, there were several bottle nocks that the programmer
met. Most of these hindrances the user has the capability of adjusting to meet his demand.
Among the aspects that sounded hard to actualize were switching from one level of advancement
to another and also having accumulative levels to the already created. One of the only ways
through which this was possible was to employ an obstacle feature that solved the present
challenge.
This is game serves the basic requirement of the client, however, another opportunity provided,
as the designer I would recommend to have a different view of the way the different tabs and
pages have been scrolled. The user would feel more appreciated if this feature was included in the
general application.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
References
Anon, (n.d.). Game programming for beginners - Edu4java. [online] Available at:
http://edu4java.com/en/game/game0-en.html [Accessed 2019].
Anon, (n.d.). Java 2D games tutorial - programming Java games - ZetCode. [online] Available
at: http://zetcode.com/tutorials/javagamestutorial/ [Accessed 2019].
Anon, (n.d.). Java Game Programming - YouTube. [online] Available at:
https://www.youtube.com/watch?v=K9qMm3JbOH0 [Accessed 2019].
chevron_up_icon
1 out of 5
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]