Skip to content

Latest commit

 

History

History
62 lines (55 loc) · 2.78 KB

README.md

File metadata and controls

62 lines (55 loc) · 2.78 KB

JAB

Tugas Besar 1 IF2211 Strategi Algoritma
Pemanfaatan Algoritma Greedy dalam Aplikasi Permainan “Galaxio”

Table of Contents

General Information

Algoritma Greedy yang kami implementasikan ke dalam bot ini meliputi:

  • Strategi torpedo defense. Setiap tick game akan dilakukan pengecekan apakah ada torpedo salvo yang mengarah ke bot. Hal ini diprioritaskan karena torpedo salvo dapat ditembakkan dalam jumlah banyak (lebih dari 1) sehingga berpotensi untuk lansung mengeliminasi bot dari permainan.
  • Strategi attack. Apabila terdapat ships yang berdekatan dengan bot, dengan ukuran yang lebih kecil maka bot akan menembakkan torpedo salvo, dan jika jaraknya semakin dekat, maka bot akan mengganti action menjadi STARTAFTERBURNER dan mengejar ship tersebut. Jika tersisa 1 ship lawan dan bot memiliki size yang lebih besar, maka bot akan mengaktifkan aggressive attacking pada attack, yang membuat bot menembakkan proyektil teleporter ke arah ship lawan dan akan melakukan teleport jika proyektil berhasil mendekati ship lawan.
  • Strategi menghindari ship yang berukuran yang lebih besar. Jika masih dalam jarak yang tidak terlalu dekat, bot akan mengubah heading-nya untuk menjauh dari ship tersebut. Jika ship semakin dekat, maka bot akan menembakkan torpedo salvo ke arah ship tersebut (exchange size).
  • Strategi menghindari objek - objek berbahaya (gas clouds dan asteroid fields). Bot akan lansung mengubah heading-nya menuju arah yang tidak terdapat objek-objek berbahaya.
  • Strategi farming. Bot akan melakukan farming yaitu mencari makan dengan superfood sebagai prioritas.
  • Strategi move to center. Bot akan lansung mengubah heading-nya menuju pusat map dan bergerak ke arah pusat map agar tetap dalam batasan boundary.

Dependencies

  1. Apache Maven ^3.8.7
  2. .NET Core 3.1

Build

from this project root,

mvn clean package

Once the build is finished, a target folder will be created at the project root with JAB.jar inside it. You can place the JAB.jar file in your target folder.

Tech Stack

  • OpenJDK 18.0.2.1

Project Structure

.
├───README.md
├───.gitignore
│
├───src
│   └───main
│       └───java
│           ├───Enums
│           ├───Models
│           └───Services
├───doc
│
├───Dockerfile
│
├───pom.xml
│
└───target

Credits

This project is implemented by:

  1. Bill Clinton (13521064)
  2. Angela Livia Arumsari (13521094)
  3. Jimly Firdaus (13521102)