Skip to content

Repository for our first big-scale project for the algorithmic strategy course

Notifications You must be signed in to change notification settings

Adityapnn811/TubesStima1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 

Repository files navigation

Implementasi Algoritma Greedy untuk Pembuatan Bot Permainan Entelect Challenge 2020 - Overdrive

Program beserta .jar untuk bot penyelesaian permainan Overdrive menggunakan bahasa pemrograman Java dan algoritma Greedy sebagai Tugas Besar 1 IF2211 Strategi Algoritma

[IMPORTANT!] Isi folder bin adalah build Maven terbaru. Pembuatan build Maven baru tidak akan disimpan di folder bin, melainkan di folder src\starter-bots\java\target

Daftar Isi

Deskripsi

Permainan Overdrive adalah permainan dimana dua bot mobil akan berusaha untuk memenangkan pertandingan. Bot yang dibuat menggunakan implementasi algoritma greedy yang mengambil keputusan terbaik yang dapat diambil dalam suatu ronde, tanpa memperhitungkan keadaan ronde selanjutnya ataupun sebelumnya. Hal ini selaras dengan sifat algoritma greedy yang mengambil optimasi secara lokal (berupa minimasi atau maksimasi kemungkinan). Optimasi lokal belum tentu mencapai keadaan optimum secara global, namun optimasi lokal dapat menghasilkan keadaan optimum lokal berupa keputusan terbaik yang diambil pada suatu saat tersebut. Pada implementasi algoritma bot Overdrive ini, dibuat beberapa analisis kasus berdasarkan skenario yang mungkin dihadapi oleh bot selama pertandingan, seperti posisi mobil di depan atau di belakang lawan, lane mobil sama atau beda dengan lawan, serta ada tidaknya rintangan di depan mobil. Setiap analisis kasus akan memiliki prioritas penggunaan powerup, berbelok/menghindar, serta mempercepat diri yang berbeda-beda, menyesuaikan kondisi agar didapatkan optimum lokal pada setiap langkah.

Isi direktori adalah sebagai berikut:

├── bin   [isi folder hasil kompilasi beserta jar terbaru]
├── docs  [laporan tugas besar]
├── src               [folder source, sumber: https://github.com/EntelectChallenge/2020-Overdrive/releases/tag/2020.3.4]
    ├── reference-bot [algoritma bot yang dijadikan referensi, sumber dari tautan di atas]
    ├── starter-bot   [implementasi algoritma greedy]
        ├── java
            ├── src / main / java / za / co / entelect / challenge
                ├── command
                ├── entities
                ├── enum
                ├── Bot.java      [implementasi utama algoritma
                ├── Helper.java   [deklarasi class sebagai fungsi helper untuk menjalankan algoritma]
                ├── Main.java     [script utama untuk menjalankan bot] 
             ├── target   [isi kompilasi build Maven, jika dilakukan pembaruan]
             ├── bot.json [konfigurasi bot]
             ├── java-starter-bot.iml
             ├── pom.xml  [file berisi informasi build Maven]
    ├── game-config.json                      [pengaturan permainan game]
    ├── game-engine.jar                       [.jar untuk game engine]
    ├── game-runner-config.json               [pengaturan konfigurasi game runner]
    ├── game-runner-jar-with-dependencies.jar [.jar untuk game runner]
    ├── run.bat                               [batch file untuk memulai permainan

Penggunaan

[RECOMMENDED] Apabila ingin melakukan build menggunakan Maven, disarankan untuk menggunakan IntelliJ IDEA (versi yang digunakan saat pengembangan adalah Ultimate 2021.2.1)

  1. Buka direktori src menggunakan IntelliJ IDEA
  2. Tunggu hingga indexing selesai, akan muncul opsi untuk melakukan build (IDE akan membaca pom.xml untuk mendeteksi Maven builds). Pilih Load...
  3. Window Maven akan muncul. Pilih opsi java-starter-bot -> Lifecycle -> Install
  4. Tunggu hingga proses build selesai
  5. Jalankan permainan dengan menjalankan run.bat. Hasil permainan akan disimpan di folder match-logs.

Identitas

About

Repository for our first big-scale project for the algorithmic strategy course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Java 99.8%
  • Batchfile 0.2%