Tworzenie planu pisania gry Państwa- Miasta

0

Witam,
Uczę się od jakiegoś czasu programowania w C#. Wiem już sporo na ten temat więc chciałbym wziąć się za coś poważniejszego. Chcę zrobić prostą grę Państwa-Miasta działającą w sieci lokalnej na podstawie Klasy TCP. Moje pytanie brzmi następująco. Od czego zacząc tworzenie aplikacji? Jak zaplanować sobie etapy pracy? Z jakich zagadnień języka najlepiej korzystać?

0

Wydaje mi się, że suche projektowanie aplikacji na tym etapie (zakładam że pomimo wiedzy jeszcze masz mały staż) nie ma sensu. Zniechęcisz się, stracisz dużo czasu na papierologię a aplikacja nie powstanie. Po prostu zacznij pisać - w ten sposób nauczysz się ich projektowania w końcu. Nie ma lepszej lekcji jak popełnić nieświadomie błąd w architekturze i po napisaniu połowy aplikacji przez niego utknąć w martwym punkcie.

W Twoim wypadku wybór technologii ma znaczenie. Wybrałeś TCP co niesie z sobą następujące skutki:

  1. Musisz napisać zarówno klienta jak i serwer,
  2. Musisz utrzymywać klienta i serwer,
  3. Musisz zaprojektować protokół wymiany danych.

Gdybyś wybrał np. aplikację webową MVC to automatycznie:

  1. Masz zapewniony protokół,
  2. Klient (widoki) jest ściśle powiązany z serwerem - łatwiej to utrzymać.
0

a jest jakiś inny sposób żeby zrobić aplikację desktopową która będzie działała na dwóch komputerach? zależy mi na aplikacji okienkowej. Do tej pory zrobiłem prosty komunikator okienkowy komunikujący się za pomocą TCP. Może pójść w tą stronę i to wykorzystać?

0

Zależy co chcesz osiągnąć. Możesz napisać aplikację webową w ASP.NET MVC i wtedy musisz ją uruchomić tylko na jednym komputerze a reszta za pomocą przeglądarek się połączy z nią - moim zdaniem rozwiązanie bardzo proste i łatwe bo każdy komputer ma przecież przeglądarkę. Jeżeli chcesz się nauczyć TCP to pisz przy użyciu TCP. Jak już masz podstawę to warto się pobawić. Obydwa wyjścia mają swoje wady i zalety, ja tylko przedstawiłem mój punkt widzenia.

0

Dzięki za nasunięcie pomysłu :) Jednak zostanę przy tym TCP. Proszę powiedz mi jeszcze tylko jak rozplanować sobie pracę? Chodzi mi o to jak podzielić sobie zadanie? Bo chyba z tym będzie problem. Na co zwracać uwagę? Bo sądzę, że taka rzecz powinna być robiona krok po kroku. A nie żeby w ciągu dnia powstał cały chaotyczny projekt i stanąć w miejscu. Raczej nie o to w programowaniu chodzi.

1

Najlepiej krok po kroku. Robisz małą rzecz, np. wysyłanie pytania do klientów i bawisz się. Dużo osób chce robić duży projekt i zaczyna klepać wiele skomplikowanych mechanizmów aż w końcu nudzi im się i porzucają projekt. Lepiej jest napisać bardzo prostą aplikację, która działa i ją rozwijać - wtedy widzisz postęp i daje to satysfakcję.

1
  1. Napisz sobie najpierw konsolową wersję mechaniki rozgrywki.
  2. Jej poprawność niech weryfikują testy jednostkowe.
  3. Dodaj komunikacje po TCP.
  4. Dodaj GUI.

Jeśli zrobisz to w tej kolejności, to istnieje duża szansa, że nauczysz się nieźle programować, a kod wynikowy nie będzie kupą spaghetti.

1 użytkowników online, w tym zalogowanych: 0, gości: 1