Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem programistyczny. Wypełnianie podłogi płytkami
marcinpruciak
post
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ł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
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




To co zrobił hwao wygląda ok, a ja pokażę wariant mojego powyżej, który jest nieco bardziej oszczędny co do miejsca (IMG:style_emoticons/default/smile.gif)

Zakładając, że całą podłogę możesz zapisać jak chcesz, to potnij ją na prostokąty o krótszym boku równym połowie długości boku rombu i przekątnej o dokładnie tej długości oraz zaznacz obie przekątne. Powstanie Ci bazowy kafel składający się z 4 trójkątów. Oznacz je sobie jakoś od 1 do 4 i teraz ułóż sobie z takich prostokątów całą planszę zauważysz ciekawą rzecz. Powstanie Ci pewnego rodzaju "macierz pseudo-3D"
(IMG:http://img821.imageshack.us/img821/6815/siatka.png)
Popatrz teraz jak wyglądają romby na siatce (IMG:style_emoticons/default/winksmiley.jpg)

Pierwszy wzór: 1 prostokąt(2,3), sąsiedni prostokąt po prawej (wszystkie), 2 sąsiedni prostokąt po prawej (1,4)
Drugi wzór: 1 prostokąt(3,4), sąsiedni prostokąt po prawej (wszystkie), 2 sąsiedni prostokąt po prawej (1,2)
Trzeci wzór: 1 prostokąt(2,3), sąsiad po prawej(1,2), sąsiad poniżej(3,4), sąsiad po przekątnej w prawo i w dół(1,4)

Tylko zapisać planszę jako macierz takich prostokątów(trójkątów), a same romby jako złożone z nich (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 07:11