IcePath Solver adalah program untuk mencari solusi puzzle lintasan es (ice sliding puzzle).
Pemain bergerak meluncur sampai menabrak penghalang, dengan tujuan mencapai goal setelah melewati checkpoint berurutan jika ada.
Program menyediakan:
- Antarmuka GUI (JavaFX) untuk memuat map, menjalankan solver, playback langkah, dan melihat log pencarian.
- Implementasi algoritma pencarian: UCS, GBFS, dan A*.
- Pilihan heuristik: Manhattan (H1), Euclidean (H2), dan Chebyshev (H3).
Kebutuhan utama:
- Java Development Kit (JDK) 17 atau lebih baru
- Maven 3.8 atau lebih baru (hanya untuk build ulang dari source)
Catatan penting:
pom.xmlsaat ini menggunakanjavafx.platform=win, sehingga konfigurasi default ditujukan untuk Windows.- Jika ingin menjalankan di Linux/macOS, ubah nilai
javafx.platformdipom.xmlsesuai OS.
Cara instalasi singkat:
- Install JDK 17+.
- Install Maven 3.8+.
- Pastikan perintah
java -versiondanmvn -versionberhasil di terminal.
File input menggunakan .txt dengan format:
N M
<N baris grid berisi karakter>
<N baris matriks cost, tiap baris berisi M bilangan bulat>
Keterangan simbol grid:
*: lantai esX: obstacle/dindingL: lavaZ: posisi awal pemainO: goal0-9: checkpoint (harus dikunjungi berurutan)
Contoh file tersedia pada folder test/.
Di root project, jalankan:
mvn clean compileUntuk membuat file JAR:
mvn package- Buka folder
bin/. - Jalankan
IcePathSolver.bat(double click). - Di aplikasi, buka menu Solver.
- Klik
Browse Filelalu pilih file map.txt. - Pilih algoritma dan heuristik (jika diperlukan), lalu klik
Run Solver
mvn javafx:runLangkah penggunaan:
- Buka halaman Solver.
- Klik
Browse Filelalu pilih file map.txt. - Pilih algoritma (UCS/GBFS/A*/BFS).
- Pilih heuristik (untuk GBFS/A*).
- Klik
Run Solver. - Lihat hasil pada panel kanan, dan gunakan playback/log pada panel bawah.
- Jika solusi ditemukan, simpan hasil dengan
Save Solutionatau log denganSave Log.
Setelah mvn package:
java -jar target/icepath-solver-1.0.0.jarUntuk siap pakai, gunakan:
java -jar bin/IcePathSolver.jarsrc/
backend/ -> logika solver dan algoritma
frontend/ -> GUI JavaFX
test/ -> kumpulan testcase
pom.xml -> konfigurasi build Maven
| Nama | NIM |
|---|---|
| Gabriella Botimada Lubis | 13524006 |
| Reva Natania Sitohang | 13524098 |