Nama : Nabila A'idah Diani
NRP : 5025211032
Final project yang dibuat ini merupakan sebuah game dengan bahasa dasar, yaitu java. Storyboard dari game ini adalah seekor kucing yang harus menangkap semua tikus yang terdapat dalam sebuah maze. Untuk menangkap tikus, kucing harus memakan dot besar dan untuk menambah score, kucing harus memakan dot sebanyak - banyaknya. Dalam game ini, digunakan extended file berupa tipe txt untuk membantu dalam mencatat skor dan juga extended asset sebagai visualisasi dari subjek game. Selain itu, juga digunakan library seperti java.awt maupun javax.swing dalam perakitan aspek GUI dalam game.
===Berikut merupakan beberapa contoh dari daftar materi OOP yang terdapat di FP yang telah saya buat/modifikasi===
Casting/Conversion
Lokasi File: class GamePlay > method inputScoreMain
Constructor
Lokasi File: class MainMenu > constructor MainMenu
Overloading
Lokasi File: class Scoreboard > method setObj(String) & setObj(int)
Overriding
Lokasi file: class TextFormatFile > method getEndformat() -> Parent
class Storyboard > method getEndformat() -> Child
class Instructions > method getEndformat() -> Child
Encapsulation
Lokasi file: class TextFormatFile > get & set
class Storyboard > get & set
class Instructions > get & set
Inheritance
class TextFormatFile ke class Instructions, Storyboard
Polymorphism
Polymorphism yang dipakai adalah overriding dan overloading
Lokasi overloading: class Scoreboard > method setObj(String) & setObj(int)
Lokasi overriding: class TextFormatFile > method getEndformat() -> Parent
class Storyboard > method getEndformat() -> Child
class Instructions > method getEndformat() -> Child
ArrayList
Lokasi file: class GamePlay > private ArrayList<Scoreboard> sb = new ArrayList<Scoreboard>();
class GamePlay > method outputScoreMain
Exception Handling
Lokasi file: class GamePlay > inputScoreMain
class GamePlay > outputScoreMain
GUI
Lokasi file: class MainMenu (mayoritas GUI berada di Main Menu)
Interface
Lokasi file: class InterfaceTextFormatFile
Abstract Class
Lokasi file: class TextFormatFile
Generics
Lokasi file: class GenericClass
Collection (Salah satu collection yang dipakai adalah ArrayList)
Lokasi file: class GamePlay > private ArrayList<Scoreboard> sb = new ArrayList<Scoreboard>();
class GamePlay > method outputScoreMain
Input Output
Lokasi file: class GamePlay > method inputScoreMain & method outputScoreMain
*Untuk code lebih lanjut, link dapat ditekan
===EXTERNAL SOURCES===
Code Sources
1. https://github.com/janicek1m/PacMan
2. https://github.com/janbodnar/Java-Pacman-Game
3. https://github.com/tatemandel/tron
4. https://github.com/Overv/BoggleSaga
5. https://github.com/mystor/cisc124-assn4-game
Asset Sources
1. Mouse: https://www.pngkit.com/png/full/398-3984980_pixel-mouse-png.png
2. Cat: https://www.pngitem.com/pimgs/m/259-2598654_cat-pixel-art-png-download-simple-cat-pixel.png
3. Brick: https://i.pinimg.com/564x/ce/ef/5b/ceef5b4e92d1cc73e0468e495b70c131.jpg
Rekaman : https://youtu.be/p6xHEU4Wuuk