MonoGame – czyli gry w C#! | Wprowadzenie

Wiele osób chciało kiedyś tworzyć własne gry. W tym także ja, były to co prawda dosyć dawne czasy. Czasy, w których chodziłem do pierwszych klas podstawówki, nie znałem wtedy nawet podstawowej budowy komputera – nie mówiąc już nic o programowaniu. Jednak lata mijały i pewnego dnia zabrałem się za naukę C++. Już nawet nie pamiętam kiedy dokładnie się to zaczęło 😉 Nie myślałem wtedy o pisaniu gier, chciałem po prostu tworzyć jakieś proste programy, poznać coś nowego. Zbiegło się to w czasie z prośbą mojego kolegi o napisanie dla niego pewnego programu… No i zaczęło się 😉 Wtedy pierwszy raz pomyślałem o napisaniu gry.

Czytaj dalej

2,940 total views, no views today

Zamykanie okien we wzorcu MVVM

Wzorzec MVVM, co prawda wiele rzeczy ułatwia i porządkuje. Jednak potrafi sprawić też masę problemów. Pisząc swoją pierwszą aplikację, z użyciem tego wzorca natknąłem się na sporą ich ilość. Jednym z nich było przechwytywanie zdarzenia zamykania głównego okna aplikacji, w celu zapisania wprowadzonych zmian. Drugim problemem było zamknięcie innego okna – potomnego, które miało wyświetlać się na czas ładowania pliku, a później znikać. W przypadku code-behind zadania te są banalnie proste. Mamy zdarzenie zamykania okna, mamy też metodę this.Close(). Nic więcej nie jest nam potrzebne. Jednak co w przypadku wzorca MVVM?

Czytaj dalej

1,568 total views, no views today

Wzorzec Model-View-ViewModel

Dzisiaj będzie trochę o wzorcach projektowych. Mianowicie o MVVM, który zaleca się stosować w przypadku projektów opartych na WPF. Przyznam się szczerze, że zanim zrozumiałem zasadę działania tego wzorca i jego implementację minęło trochę czasu… Jednak po kilku podejściach w końcu się udało i mogę śmiało pisać w MVVM ;). Zaznaczam jednak, że pisanie kodu zgodnie z tym wzorcem, czasami może nie być łatwe i niektóre problemy mogą prosić się o rozwiązanie ich standardowo w code-behind. Ja na przykład siedziałem cały dzień nad tym jak z poziomu kodu zamknąć okno w aplikacji… Do tej pory uczę się tego wzorca, więc na pewno znajdzie się masa rzeczy, które mogę robić źle, lub o których nie wiem. Przejdźmy jednak do rzeczy.

Czytaj dalej

4,427 total views, no views today

Aplikacja WPF z oknem konsoli

Czasami zachodzi potrzeba stworzenia aplikacji okienkowej z oknem konsoli w tle. Może ona służyć np. do łatwiejszego śledzenia poczynań programu, co w rezultacie pozwala na łatwiejsze znajdowanie błędów w kodzie. Po stworzeniu pustego projektu WPF App i jego kompilacji domyślnie konsola nie jest wyświetlana. Można jednak temu zaradzić. Wpis opisuje sposób rozwiązania tego problemu w Visual Studio, jednak w innych IDE też powinien działać.

Czytaj dalej

1,089 total views, no views today

Programowanie obiektowe

Wszystkie nowoczesne języki programowania wspierają programowanie obiektowe. W C++ to czy chcemy programować obiektowo, czy strukturalnie zależy wyłącznie od nas. Jednak C# jest językiem, który pozwala pisać aplikacje tylko obiektowo. Czy to zaleta, czy wada? Według mnie jak najbardziej zaleta – programowanie obiektowe jest znacznie logiczniejsze i pozwala na lepsze uporządkowanie kodu, co jest bardzo istotne w dużych projektach. Nie widzę, więc sensu aby jakikolwiek nowoczesny język programowania wspierał programowanie strukturalne.

Czytaj dalej

465 total views, 0 views today