Code ini dibuat untuk memenuhi Tugas Besar 1 IF2211 Strategi Algoritma, Pengimplementasian Strategi Algoritma Greedy pada bot di Game GALAXIO
Pada bot yang kami buat kami menggunakan serangkaian algoritma greedy untuk mampu melakukan beberapa mekanisme yang dibutuhkan sesuai dengan kondisi dalam pertandingan
- Greedy by Point Mengutamakan mencari food terdekat dari kapal dengan mempertimbangkan kondisi sekitar food tersebut. Jika food tersebut didekat musuh dengan size yang lebih besar atau berada dalam suatu obstacle maka kapal akan mencari food lain yang lebih aman.
- Mekanisme Pertahanan Jika makanan yang dituju kapal berada di obstacle maka kapal akan mencari food, selain itu juga jika suatu projectile mengarah ke kapal maka kapal akan mengaktifkan shield
- Mekanisme Penyerangan Mekanisme penyerangan dapat diaktifkan oleh kapal jika memenuhi beberapa kondisi, contohnya jika size kapal lebih dari 30 dan jarak antara kapal dengan musuh kurang dari 125 maka kapal akan menembakkan torpedo, namun jika jarak kapal dengan musuh melebihi 125 maka kapal akan menembakkan teleporter yang mampu mengurangi kapal dengan musuh.
Ada serangkaian requirement dan instalasi yang perlu dilakukan agar dapat menjalankan bot ini dalam permainan GALAXIO, yaitu:
- Instalasi
- Requirement
- Membuat file run.bat pada folder ./starter-pack dan mengcopy kode ini (dotnet ReferenceBot.dll dapat diganti dengan java -jar pathFile/greedisgood.jar)
@echo off :: Game Runner cd ./runner-publish/ start "" dotnet GameRunner.dll :: Game Engine cd ../engine-publish/ timeout /t 1 start "" dotnet Engine.dll :: Game Logger cd ../logger-publish/ timeout /t 1 start "" dotnet Logger.dll :: Bots cd ../reference-bot-publish/ timeout /t 3 start "" dotnet ReferenceBot.dll timeout /t 3 start "" dotnet ReferenceBot.dll timeout /t 3 start "" dotnet ReferenceBot.dll timeout /t 3 start "" dotnet ReferenceBot.dll cd ../ pause
- Lakukan ekstrak pada file .zip GALAXIO dalam folder "visualiser" sesuai dengan OS anda
- Jalankan aplikasi GALAXIO
- Buka menu "Options"
- Salin path folder "logger-publish" pada "Log Files Location", lalu "Save"
- Lalu keluar dari Game
- Jalankan run.bat
- Tunggu hingga proses pada semua terminal berhenti
- Setelah proses-proses berhenti, tutup semua terminal yang terbuka
- Buka kembali Game
- Buka menu "Load"
- Pilih file JSON yang ingin diload pada “Game Log”, lalu “Start”
- Setelah masuk ke visualisasinya, kalian dapat melakukan start, pause, rewind, dan reset
Selamat!! Program sudah bisa berjalan dan anda bisa melihat kinerja dari bot kami
- 13521012 / Haikal Ardzi Shofiyyurrohman
- 13521013 / Eunice Sarah Siregar
- 13521029 / Muhammad Malik Ibrahim Baharsyah