Skip to content
This repository has been archived by the owner on Apr 25, 2023. It is now read-only.

christojeffrey/override-car-bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Bot Override - Capcay Kuah

Sebuah Project Bot Balapan Override dengan bahan dasar Java

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contact

About The Project

Bot override ini dibuat menggunakan Bahasa Java. Bot ini memanfaatkan template yang diberikan oleh entelect. Tujuan dari Bot ini adalah mencapai garis finish tercepat. Pada implementasinya, bot ini menggunakan algoritma greedy Bagian utama dari bot ini adalah file bot.java, yang merupakan file yang dieksekusi tiap turn oleh program. untuk informasi lengkap mengenai algoritma, bisa di cek di folder doc maupun di folder src dengan nama file Bot.java
Untuk mengetahui lebih lengkap tentang game ini, cek di sini

(back to top)

Greedy Algorithm

Program memilih langkah-langkah yang menghasilkan jalan lajur tercepat dan terefektif untuk mencapai garis finish. Melalui lajur yang memiliki hambatan terkecil atau power up terbesar di antara jalur lainnya. Serta, langkah untuk mengeluarkan power up dan FIX seoptimal dan efektif mungkin, bergantung pada state dari permainan. Algoritma akan me-asses beban atau nilai dari tiap lajur yang akan dilalui, dengan pivot lajur tempat kendaraan berada saat itu. Dalam tiap asses yang dilakukan, hambatan akan dinilai sebagai beban, dan power up akan dinilai sebagai profit. Algoritma memilih langkah yang memiliki beban terkecil. Perlu diperhatikan, tiap jenis hambatan nilainya berbeda. Tergantung efek keterlambatan yang ditimbulkan akibat menabrak tiap hambatan. Selain hambatan dan power up, hal yang perlu diperhatikan adalah kecepatan. Tiap belokan yang dilakukan akan mengurangi kecepatan, sedangkan jika tetap lurus, dan kecepatan belum maksimal, bot akan mengakselerasi mobil.

Maka, alternatif algoritma greedy ini dalam beberapa tahap:

  1. Memeriksa apakah lurus merupakan jalur optimal (dalam 2 langkah). Jika ya, maka akan dikembalikan ACCELERATE.
  2. Memeriksa apakah belok merupakan jalur optimal (dalam 2 langkah). Jika ya, maka akan dikembalikan TURN.
  3. Jika 1 dan 2 tidak terpenuhi, maka pilih jalur dengan nilai kolisi terkecil.

Ketiga tahap tersebut dilakukan 2 kali iterasi, yaitu dengan current reachable (jarak yang dapat dicapai saat ini), lalu diperiksa kembali dari current reachable.

Built With

Bot ini dibuat dengan teknologi berikut.

(back to top)

Getting Started

Berikut adalah sedikit instruksi mengenai penggunaan bot.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

Untuk menjalankan bot ini kita akan bagi menjadi dua os, linux dan Windows. Untuk Linux,

  1. Buka terminal pada direktori utama bot.
  2. Jalankan pada terminal
    make run
    

Untuk Windows

  1. Jalankan program run.bat dengan mengekliknya

Bagi anda yang ingin melihat visualisasi lebih baik, anda dapat menggunakan visualizer.

(back to top)

Contact

Ng Kyle - 13520040 @Nk-Kyle
Muhammad Risqi Firdaus - 13520043 @mrfirdauss-20
Cristopher Jeffrey - 13520055 @christojeffrey

(back to top)

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%