Gra planszowa (WPF)

Dział z pytaniami o absolutne podstawy programowania w C# (dla początkujących).

Moderator: xxSlayeRxx

Gra planszowa (WPF)

Sponsor

Sponsor
 

Gra planszowa (WPF)

Postprzez szach » Cz paź 08, 2015 4:12 pm

Witam,

mam spore doświadczenie w programowaniu proceduralnym i niewielkie w programowaniu obiektowym. Choć cały czas programuję w C#, który jest językiem obiektowym, to programuję w nim głównie proceduralnie i nie wykorzystuję potencjału programowania zorientowanego obiektowo. Ostatnio zainteresowałem się technologią WPF. Chcę napisać prostą grę planszową w WPF. Oczywiście technologia jest dowolna, ale z racji tego, że chcę się uczyć czegoś nowego, wybrałem właśnie WPF. Tworzenie gry podzieliłem na kilka etapów. Jednym z nich jest zaprogramowanie samej planszy do gry i poruszających się po niej pionków. Tutaj moja prośba. Czy moglibyście naprowadzić mnie na tok myślenia, którym powinienem podążać? Chodzi o to, że nie bardzo wiem, co gdzie umieścić.

1. Czy plansza powinna być "narysowana" w XAMLu, czy w kodzie C#?
2. Jeśli w XAMLu, to jak ogarnąć podobieństwa każdego pola do siebie? Czy jest jakiś sposób, żeby zrobić jedną klasę (np. POLE) napisaną w XAMLu i stworzyć wiele obiektów tej klasy tylko położonych w innych współrzędnych?
3. Czy takie pole powinno umieć się samo narysować na ekranie (np. na Gridzie), czy coś "z zewnątrz" powinno rysować pola, a samo pole powinno tylko przechowywać dane o sobie (m.in. jakie pionki na nim stoją).

To są pierwsze trzy pytania. Na pewno nasunie mi się ich więcej. Proszę na ten moment o naprowadzenie mnie na poprawny tok myślenia o obiektowości mojej "gry".

Pozrawiam,
szach
szach
New member
 
Posty: 1
Dołączył(a): Wt paź 06, 2015 10:55 am

Re: Gra planszowa (WPF)

Postprzez xxSlayeRxx » Wt paź 13, 2015 5:57 pm

1. XAML, ale na Twoim miejscu zostawilbym na sam koniec

2. masz custom control (albo jakos tak to sie nazywa), ale możesz też zrobić to inaczej kilka bindingow kilka template (np dla wrap panel) i masz narysowane wszystko, a pole definiujesz tylko raz... polecam poczytać o template, containerach itp.

3. jesli uzyjesz wpf binding template i wszystkei tego dobrodziejstwa to nie bylo pytania... Masz model: Plansza{ListaPol{Pole{Ponki}}} jeden binding i bach narysowane... jak to sie ma wyswietlac to po stronie widoku

Dam Ci pseudokod wygladu takiej planszy
Kod: Zaznacz cały
<window>
   <grid bind=plansza>
      <wrapPanel bind=plansza.pola>
         <ItemTemplate>
            <boder color=pole.color>
               <square>
                  <stackpanel bind=pole.pionki>
                     <ItemTemplate>
                        ...
                     </ItemTemplate>
                  </stackpanel>
               </square>
            </boder>
         </ItemTemplate>
      </wrapPanel>
   </grid>
</window>


Cos takiego tylko w poprawnej skladni powinno Ci wyrenderowac (przy odpowiednim modemu)
plansze z blokami (polami) i na nich pionki

Model:
Plansza posiada:
Liste pol
Pole posiada:
kolor pola
liste pionkow


W takim przypadku jak kiedys zadecydujesz, ze chcesz miec 3d zamiast 2d to modelu nie bedziesz musial ruszac
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Gra planszowa (WPF)

Sponsors

Sponsor
 


Powrót do Newbie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości

cron