Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tubes Strategi Algoritma IF25-21013 - PucukDingin

Repository ini berisi 4 bot Robocode Tank Royale berbasis C#/.NET untuk Tugas Besar IF25-21013 Strategi Algoritma. Bot utama yang dipilih adalah MobilMBG; tiga bot lain disimpan sebagai alternatif pembanding strategi greedy.

Anggota Kelompok

  • Ridho Maulana Saputra (NIM 124140090)
  • Hafidz Raihan Putra Anfa (NIM 124140108)
  • Richard Halim (NIM 124140084)

Struktur Repository

.
|-- src/
|   |-- MobilMBG/
|   `-- alternative-bots/
|       |-- LetMeThink/
|       |-- Ompreng/
|       `-- SkibidiRam/
|-- doc/
|   `-- Tubes_PucukDingin.pdf
|-- README.md
`-- PUCUKDINGIN.sln

Requirement

  • .NET SDK 10.0 atau versi yang kompatibel dengan TargetFramework pada file .csproj.
  • Java Runtime Environment untuk menjalankan robocode-tankroyale-gui-0.30.0.jar.
  • Robocode Tank Royale Bot API versi 0.30.0, otomatis diambil oleh dotnet restore.

Strategi Greedy

Bot Jenis Heuristic utama Ringkasan strategi
MobilMBG Main bot Minimum danger/gravity Mengevaluasi banyak kandidat posisi di sekitar bot, lalu memilih posisi dengan nilai gravity paling kecil. Nilai gravity menggabungkan jarak musuh, prediksi peluru virtual, posisi target, dan risiko sudut arena.
LetMeThink Alt 1 Maximum kill-adjusted target score Bergerak ke pinggir terdekat lalu berpatroli mengitari sudut arena, sambil memilih target dengan skor tertinggi berdasarkan prioritas finishing, jarak, kecepatan target, dan energi target.
Ompreng Alt 2 Minimum ideal-orbit error Memilih kandidat gerak orbit yang paling dekat dengan jarak tempur ideal dan tetap aman dari dinding.
SkibidiRam Alt 3 Minimum ram cost Memilih target tabrak dengan biaya terkecil berdasarkan jarak, sudut putar, energi target, dan risiko posisi dekat dinding.

Keempat bot memakai heuristic greedy yang berbeda. Perbedaan utamanya ada pada fungsi seleksi: MobilMBG memilih posisi paling aman, LetMeThink memilih target paling layak untuk ditembak dari posisi patroli pinggir, Ompreng memilih orbit paling ideal, dan SkibidiRam memilih target tabrak paling murah.

Clone Repository

Clone repository ini lewat terminal:

https://github.com/udinvoldigoad/Tubes1_PucukDingin.git
cd Tubes1_PucukDingin

Cara Build

Build semua bot melalui solution:

dotnet build "PUCUKDINGIN.sln"

Atau build bot tertentu:

cd src/MobilMBG
dotnet build
cd src/alternative-bots/LetMeThink
dotnet build
cd src/alternative-bots/Ompreng
dotnet build
cd src/alternative-bots/SkibidiRam
dotnet build

Cara Menjalankan Bot

Jalankan game engine:

java -jar robocode-tankroyale-gui-0.30.0.jar

Pada GUI Robocode, tambahkan root directory repository ini sebagai Bot Root Directory. Setelah itu boot bot dari folder masing-masing.

Bot juga dapat dijalankan dari terminal setelah server Robocode aktif dan SERVER_SECRET sudah diatur:

cd src/MobilMBG
dotnet run

Untuk Windows, setiap folder bot menyediakan file .cmd. Untuk Linux/macOS, setiap folder bot menyediakan file .sh.

Catatan Implementasi

  • Semua bot dibuat dalam C# menggunakan Robocode.TankRoyale.BotApi versi 0.30.0.
  • File metadata .json tiap bot sudah memuat nama, versi, author, deskripsi strategi, negara, platform, dan bahasa.
  • Nama author pada metadata bot disingkat agar aman terhadap batas panjang nama pada starter guide, sedangkan nama lengkap dicantumkan pada README ini.

About

Tugas Besar Matakuliah Strategi Algoritma 2026

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages