-
Data: 2013-09-06 11:51:16
Temat: Re: chrząszcz
Od: xuesheng <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
>
> To nadal wersja beta. Gra jest deterministyczna. Mam z nią mały problem - niekiedy
generuje labirynty, których nie da się przejść. Problem jest w klasie maze_generator.
>
Wrzuciłem wersję 0.0.8, algorytm generowania labiryntu jest poprawiony, są też różne
poziomy trudności.
Idea labiryntu jest taka:
Labirynt dzieli się na n komnat (w programie nazywanych "chambers"), wszędzie tam
gdzie to możliwe powstają drzwi łączące komnaty, maksymalnie jest ich n*(n-1)/2, ale
może być mniej, zależnie od topologii. Tworzona jest macierz zero-jedynkowa
zawierająca przejścia między komnatami. Jest ona kwadratowa i symetryczna. W
programie nazywa się "matrix_of_transition_chambers". Ilość jedynek w tej macierzy to
dwa razy ilość drzwi w labiryncie.
Następnie generowane są wszystkie symetryczne macierze, które w miejscu jedynek
macierzy przejścia mają zera lub jedynki, czyli wybieramy kombinacje. Ich ilość
wynika z ilości wszystkich kluczy i symbolu Bernoulliego. Bierzemy tylko te z
macierzy, które zawierają dwa lub mniej kluczy. Mówiąc po prostu generujemy
kombinacje wszystkich par i jedynek kluczy (macierz zerowa też jest odrzucona). To
arbitralna decyzja, chciałem żeby gracz miał w każdej chwili maksymalnie dwa klucze,
ale nigdy zero. Wszystkie te macierze będę dalej nazywał macierzami kluczy.
Następnie generowane są pary (komnata, macierz kluczy). Właściwy labirynt to tak
naprawdę graf nieskierowany, w którym węzłami są te właśnie pary. Krawędzie grafu
odpowiadają albo przejściu do innej komnaty z TYMI SAMYMI kluczami, albo wymianie
kluczy w TEJ SAMEJ komnacie.
Nawet na najniższym poziomie trudności, dla trzech komnat, ilość tych par może być
np. 15. Dla siedmiu komnat wyszło mi 144 (to oczywiście wartość losowa). Przejście do
innej komnaty jest możliwe zawsze, gdy mamy odpowiedni klucz. Natomiast wymiana
kluczy w tej samej komnacie nie zawsze jest możliwa.
W każdej komnacie, w której można wymienić klucze chodzi sobie ork, któremu odpowiada
pewna relacja równoważności na zbiorze macierzy kluczy. Relacja ta dzieli ów zbiór na
klasy równoważności. Wymienić się można tylko na macierze-reprezentantów klasy,
której reprezentanta już mamy. Czyli ork pozwala nam odwrócić każdą transakcję, ale
nie na każdą transakcję się zgodzi. Mimo to labirynt jest tak skonstruowany, że
istnieje rozwiązanie, tj. istnieje ścieżka w grafie z każdej pary (komnata, macierz
kluczy) do każdej innej pary.
Przepraszam, jeśli trochę przynudzam. Tego typu labirynty wydają mi się ciekawe.
Myślałem o grze, w której oprócz kluczy mamy jeszcze inne przedmioty, które
zwiększają ilość węzłów w grafie. Wówczas orki mogłyby oferować różne transakcje,
zależnie od tego czy mamy np. Święty Gral, czy nie.
Pozdrawiam,
Paweł Biernacki
Następne wpisy z tego wątku
- 10.09.13 12:17 g...@g...com
- 10.09.13 20:01 xuesheng
- 10.09.13 20:40 Ghost
- 10.09.13 20:56 xuesheng
- 10.09.13 21:06 Ghost
- 11.09.13 09:33 g...@g...com
- 11.09.13 20:18 xuesheng
- 20.09.13 13:31 xuesheng
- 24.09.13 15:45 g...@g...com
- 29.09.13 22:36 xuesheng
Najnowsze wątki z tej grupy
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
Najnowsze wątki
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Pieniadze-cuchna-oddechem-nawalonego-tatusia
- 2025-12-31 Iran na skraju gospodarczego upadku. Na ulicach Teheranu (znów) wrze. To może być cios dla reżimu
- 2025-12-30 zasilacz
- 2025-12-30 Teraz System Plików PFS z sys. op. Amiga OS będziesz mógł zamontować pod sys. op. Linuks i Jabłoko Makintosz
- 2025-12-30 Aeor2 i ciągły internet 512kb




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]