Generator Labirin Algoritma Eller
Diterbitake: 16 Februari 2025 ing 20:36:42 UTC
Labirin generator nggunakake algoritma Eller kanggo nggawe mbingungake sampurna. Algoritma iki menarik amarga mung mbutuhake nyimpen baris saiki (ora kabeh mbingungake) ing memori, supaya bisa digunakake kanggo nggawe labirin sing gedhe banget sanajan ing sistem sing winates.Eller's Algorithm Maze Generator
Algoritma Eller minangka algoritma generasi mbingungake sing efisien ngasilake mbingungake sing sampurna (maze tanpa puteran lan jalur siji ing antarane rong titik) nggunakake pendekatan baris-by-baris. Iku mrodhuksi mazes padha algoritma Kruskal kang, nanging iku dening ngasilaken mung siji baris ing wektu, tanpa perlu kanggo nyimpen kabeh mbingungake ing memori. Iki ndadekake migunani kanggo ngasilake labirin sing gedhe banget ing sistem sing winates banget lan kanggo nggawe konten prosedural.
Labirin sing sampurna yaiku labirin sing ana persis siji dalan saka sembarang titik ing mbingungake menyang titik liyane. Iku tegese sampeyan ora bisa mungkasi munggah ing bunderan, nanging sampeyan bakal kerep nemoni bund ends, meksa sampeyan kanggo nguripake lan bali.
Peta mbingungake sing digawe ing kene kalebu versi standar tanpa posisi wiwitan lan pungkasan, supaya sampeyan bisa mutusake dhewe: bakal ana solusi saka sembarang titik ing mbingungake menyang titik liyane. Yen sampeyan pengin inspirasi, sampeyan bisa ngaktifake posisi wiwitan lan pungkasan sing disaranake - lan malah ndeleng solusi ing antarane loro kasebut.
Babagan Algoritma Eller
Algoritma Eller dikenalaké déning David Eller.
Algoritma kasebut misuwur amarga pendekatan baris-by-baris sing efisien kanggo nggawe mbingungake, saéngga cocog kanggo labirin utawa labirin tanpa wates sing digawe ing wektu nyata. Biasane kasebut ing generasi konten prosedural lan literatur generasi mbingungake, nanging aku durung bisa nemokake sumber utama sing njlentrehake publikasi asline.
Carane Algoritma Eller bisa kanggo Maze Generation
Algoritma Eller ngolah siji baris, njaga lan ngowahi set sel sing disambungake. Iki njamin konektivitas nalika ngindhari puteran, lan kanthi efisien ngluwihi mbingungake mudhun.
Iku bisa miturut teori bisa digunakake kanggo generate mazes tanpa wates, Nanging supaya kanggo mesthekake yen mbingungake kui bener solvable, iku perlu kanggo ngalih menyang logika "baris pungkasan" ing sawetara titik rampung mbingungake.
Langkah 1: Miwiti Baris Pertama
- Temtokake saben sel ing baris ID set unik.
Langkah 2: Gabung karo sawetara sel sing cedhak kanthi horisontal
- Gabung kanthi acak sel jejer kanthi nyetel menyang ID set sing padha. Iki mesthekake yen ana bagean horisontal.
Langkah 3: Nggawe Sambungan Vertikal menyang Baris Sabanjure
- Kanggo saben set sing katon ing baris, paling ora siji sel kudu nyambung mudhun (kanggo mesthekake konektivitas).
- Pilih kanthi acak siji utawa luwih sel saka saben set kanggo nyambung menyang baris sabanjure.
Langkah 4: Pindhah menyang Baris Sabanjure
- Terusake sambungan vertikal kanthi menehi ID set sing padha menyang sel sing cocog ing ngisor iki.
- Temtokake ID set anyar menyang sel sing ora ditugasake.
Langkah 5: Baleni Langkah 2-4 Nganti Baris Terakhir Tekan
- Terusake ngolah baris demi baris.
Langkah 6: Proses baris pungkasan
- Priksa manawa kabeh sel ing baris pungkasan kalebu ing set sing padha kanthi nggabungake set kapisah sing isih ana.