Wpis z mikrobloga

Hej,

Kojarzycie może jakiś algorytm, który pomógłby mi zapełnić mapę?

Chodzi mi o to, że na wylosowane mam(tak jak jest na obrazku) kilka miejsc startowych i chcę dać użytkownikowi możliwość ustawienia np. początkowej ilości terenu.

Problem w tym, że na chwilę obecną nie kojarzę żadnego algorytmu, który umożliwiałby zapełnianie mapy, tak aby wszystkie tereny do siebie przylegały i dodatkowo aby nie blokowały tworzenia nowych terenów(np. jeśli na obrazku żółty teren przejąłby pusty teren po prawej od czerwonego, to zablokowałby mu ekspansję na prawo przez co czerwony mógłby mieć jedynie +1 nowy teren, a liczba pustych terenów na gracza wynosi przecież 2(9 pustych terenów/4 graczy))

#gamedev
q.....n - Hej,

Kojarzycie może jakiś algorytm, który pomógłby mi zapełnić mapę?

...

źródło: comment_15952260726v5bNHqL3gzrXn3l2X1101.jpg

Pobierz
  • 4
Nie wiem czy dobrze zrozumiałem, ale czy rozwiązaniem twojego problemu nie byłoby gdybyś w trakcie generowania planszy po prostu dodał jakieś sprawdzenie, że np. punkt startowy jednego gracza musi być oddalony od innych punktów startowych o zadaną wartość (powiedzmy 2 pola w każdym kierunku?)
@qarmin może na przykład taki algorytm
Wyszukaj na mapie wszystkie pola które mają co najmniej Dwa przylegające pola

odszukane pola są zbiorem pól na których można losować pola startowe

Wylosuj pierwsze pole startowe

Sprawdź każde wolne pole przylegające na odległość dwóch pól do wylosowanego pola startowego ze zbioru pól na których można losować pola startowe czy Jeżeli zostanie tam postawione Nowe Pole startowe to dla każdego nich suma wspólnych pól które dzielą