| Order | Full name | ID |
|---|---|---|
| 1 | Tran Ngoc Dang Khoi | ITCSIU21197 |
| 2 | Nguyen Tran Hoang Ha | ITITIU21127 |
| 3 | Ha Van Uyen Nhi | ITCSIU21095 |
| 4 | Nguyen Hoang Quan | ITITIU21291 |
In today’s rapid evolution of technology industry, there is an increasing need for continuous learning and updating of knowledge. To facilitate the adoption of new ideas, Object-Oriented Programming has emerged as a robust paradigm for organizing projects that including code more reusability, modularity, maintainability, and scalability, to embrace new algorithms more easily and systematically.
Consequently, our team has made the choice to utilize Java.Swing (Java.awt) as the primary library for coding and implementing Object-Oriented Programming (OOP) in our game project, “The Treasure Hunt”. This decision was made in order to evaluate the viability of the principles inherent in this model. Furthermore, our goals encompassed enhancing our proficiency in collaborative projects and obtaining a more comprehensive comprehension of the game development process.
- Deep learning of Object-Oriented Programming's Principles✨
- Process of game development and some tricks✨
- Teamwork skills✨
"The Treasure Hunt" is a platform game where players control a pirate character, Captain Jack, navigating through levels filled with challenges and enemies. The game features a two-dimensional side-scrolling environment where players must jump over gaps, dodge hazards, and defeat aggressive enemies with swords. Cannons and traps add additional obstacles throughout the game. The levels progressively increase in difficulty, providing an engaging and challenging experience. The unique pirate theme and the presence of crabs as enemies add a distinctive flavor to the game, aiming to provide players with a fun and immersive experience.
To do this project, we use:
- Language:
Java - Library:
Java.awt - IDE:
IntelliJ,VsCode,Esclipe.
To do this game, we create 10 packages to operate 10 main features of the game:
- Main package
- Levels package
- Entities package
- Objects package
- Gamestates package
- Inputs package
- UI package
- Audio package
- Effects package
- Utilz package
For more detailed information, you can find out in this file.
- Use the mouse click to select options in the game's menu.
- Press
Ecsto pause the game.
- Stats of character:
200HPand200PPmaximum, automatic PP-recovery only. - Movement:
A,DandSPACEBARto move left, right and jump on the grid. - Attack: Use
right-clickto attack,left-clickfor the faster.
Note:
the quick attackis required a huge energy consumption,
and you could use it withSPACEBARto surf in the air.
- Potions: to recover stats of character with
RED_POTIONfor HP andBLUE_POTIONfor PP. - Container: to contain the potions.
git clone https://github.com/koitran14/The-Treasure-Hunt-Project.gitOnce the download is complete from github, you can launch the game in two ways:
- Step 1: Open the
srcfile. - Step 2:
Right-clickonce, then selectOpen in Terminal. - Step 3: Type like below and enjoy.
...\OOP.Project\src> javac *.java
...\OOP.Project\src> java MainClassJust open this project in your IDE, then enjoy 😉
To summarize, the development of the Treasure Hunt game was made easier and more logical by adopting the Object-Oriented Programming (OOP) approach. This project effectively exemplifies the fundamental principles of OOP, such as encapsulation, abstraction, inheritance, and polymorphism. Alongside gaining expertise in applying OOP principles, it is essential to expand knowledge in related areas beyond the course curriculum. These areas encompass utilizing GIT for version control, resolving software bugs, solving complex problems, programming interactive games, and improving collaboration skills.
Furthermore, the game possesses several constraints. Specifically, the game remains unfinished due to time constraints and a lack of sufficient experience and expertise. Consequently, the classes and methods lack proper organization, efficiency, and cleanliness, making testing a rather complex task. Most importantly, the team encountered challenges in constructing, coordinating, and assigning tasks, occasionally necessitating starting over due to inexperience and confusion in the game development process.
- Treasure Hunter - Pixel Frog: The main source of inspirational concept and animations for this project, including main character, weapons, enemies and environmental elements,...
- Java Game Development Tutorial - Kaarin Gaming: A playlist of video tutorials covering various aspects of this project.
- Java AWT: A powerful library used in this project for Graphics.
- Dr. Le Duy Tan: made significant contributions, particularly in Object-Oriented Programming's standard knowledge, which supported the whole concept of this project.
- Dr. Kieu Vu Thanh Tung: provided valuable feedback and suggestions throughout our project's development.
- To know more about our project, read me.
If you have any questions, please contact: tndkhoi.work@gmail.com
