![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 9 Dołączył: 14.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam zadanie wypełnić przestrzeń takimi 3 rodzajami rombów:
(IMG:http://img602.imageshack.us/img602/3610/25861196.png) Mają być ułożone losowo, z warunkiem że nie mogą się nakładać. Z rombem 1 i 2 nie mam problemu. Losuję sobie normalnie to w tablicy dwuwymiarowej i wklejam obrazek: demo Z rombem nr 3 mam spory problem, ponieważ zajmuje dwa miejsca poziomo i pionowo (chyba). W normalnej tablicy nie da się go chyba zapisać? Jakiś pomysł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Potraktuj owe romby jako złożone z 4 trójkątów. W 1 i 2 są one obok siebie. Różnica to fakt, który może być początkowy. W 3 dwa są obok siebie, a następne 2 poniżej tych dwóch. Kwestia najważniejsza to jak zapisać "podłogę" w takim układzie (IMG:style_emoticons/default/winksmiley.jpg) Najprościej... Górne trójkąty to indeksy 0, 2, 4,...(parzyste). 1,3,.. (nieparzyste) to dolne. Tak tworzysz wiersz. Kolejny ma indeksy przesunięte o 1, czyli górne stają się nieparzystymi a dolne parzystymi. Trudność sprawia wyłapanie, który jest którym w jakim wierszu i tyle (IMG:style_emoticons/default/winksmiley.jpg) Przyjmując że wiersz zerowy ma najpierw górny trójkąt, wiersz pierwszy będzie miał pierwszy trójkąt dolny ()stworzy to ich lustrzane odbicie konieczne do rombu nr 3).
Przykład dla płytki 1, to zajęcie od nieparzystej 4 kolejnych czyli przykładowo 3,4,5,6 Przykład dla płytki 2, to zajęcie od parzystej 4 kolejnych, czyli przykładowo 4,5,6,7 Przykład dla płytki 3, to zajęcie sąsiednich nieparzystego i parzystego (5 i 6) w wierszu 0 oraz 5 i 5 w wierszu 1 To cały trick (IMG:style_emoticons/default/winksmiley.jpg) Później tylko musisz sprawdzać, czy da się wklejając romby zajmować określone elementy podłogi (wykraczanie poza "podłogę" lub zachodzenie na inne płytki). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 02:22 |