Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Plansza heksagonalna
Ravender




Typ: neutral
Postów: 30
Zarejestrowany: Feb 2005
Plansza heksagonalna

Jak to zrealizowac? Nie mam na prawde zadnego sensownego pomyslu. Przy planszy kwadratowej sprawa prosta.. Wspolrzedne x i y. A przy planszy heksagonalnej (tj skladajacej sie z szesciokatow).. Macie jakis pomysl?

20-02-2005 00:14
Pokaż profil Ravender  Wyślij email do Ravender   Odwiedź stronę Ravender       2854667
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Narysuj sobie fragment planszy złozonej z pól sześciokątnych, tak, żeby tam trochę tych pól było i były rozłożone w miare równomiernie.

Teraz obróć kartkę o 90 stopni.

Mam tłumaczyć dalej, czy już widzisz, że to nadal można adresować przez dwie współrzędne X,Y ?
Pytam, bo do dalszego tłumaczenia będe musiał zrobić rysunek i wrzucić go an serwer - a stamtąd zniknie za kilka tygodni i następni poszukujący wiedzy już nie będą wiedzieli o co chodzi.

[Post edytowany dnia 20-02-2005 12:58 przez marcin_an]


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

20-02-2005 12:57
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Ravender




Typ: neutral
Postów: 30
Zarejestrowany: Feb 2005

Wiem do szego zmierzasz... ale...

oto rysunek obroconej planszy.. Jak widac, poziome pola tworza linie.. ale
_  _
/ \/ \
\_/\_/
|  |
  \_/

linie Y nie leza juz na jednej linii. Lecą tak jakby zygzakiem. I wlasnie tutaj jest problem, z ktorym nie mogę sobie za bardzo poradzic.

20-02-2005 14:00
Pokaż profil Ravender  Wyślij email do Ravender   Odwiedź stronę Ravender       2854667
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Nom.. zgadza się. Leżą zygzakiem. Traktujesz pierwsze pole w linii jako "zerowe". Następne "1", "2" itd..

Przykładowo:
 __    __    __
/0 \__/0 \__/0 \_
\__/0 \__/0 \__/  ...
/1 \__/1 \__/1 \_
\__/1 \__/1 \__/  ...
/2 \__/2 \__/2 \_
\__/2 \__/2 \__/  ...
/3 \__/3 \__/3 \_
\__/3 \__/3 \__/  ...
/  \  /  \  /  \
  .    .    .
  .    .    .
  .    .    .


Zauważ, że to w gruncie rzeczy można rozłożyć na takie linie:
 __    __    __
/0 \__/0 \__/0 \_
\__/0 \__/0 \__/  ...
   \__/  \__/  \_
 __    __    __
/1 \__/1 \__/1 \_
\__/1 \__/1 \__/  ...
   \__/  \__/  \_
 __    __    __
/2 \__/2 \__/2 \_
\__/2 \__/2 \__/  ...
   \__/  \__/  \_
 __    __    __
/3 \__/3 \__/3 \_
\__/3 \__/3 \__/  ...
   \__/  \__/  \_

Te z koleji można "wyprostować"... teraz chyba już jaśniej to wygląda


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

20-02-2005 15:05
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Jeszcze małe uzupełnienie: w siatce opartej na równo ułożonych kwadratach każde pole sąsiaduje z 4 polami - tutaj zaś z 6. Ustalenie z jakimi nie jest jednak trudne. Zakładając, że na wcześniejszych rysunkach współrzędna X określa nr.kolumny, a Y - nr.wiersza, można określić współrzedne sąsiadów komórki (x,y) w ten sposób:

Sąsiedzi w pionie:
(x, y-1)
(x, y+1)
Sąsiedzi w poziomie:
(x-1, y)
(x-1, y+1)
(x+1, y)
(x+1, y+1)


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

20-02-2005 15:10
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Ravender




Typ: neutral
Postów: 30
Zarejestrowany: Feb 2005

Teraz rozumiem ideę. Dzieki wielkie...

ap. Ascii jest genialne

20-02-2005 15:11
Pokaż profil Ravender  Wyślij email do Ravender   Odwiedź stronę Ravender       2854667
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1