Jak uczyć się efektywnie

0

Witam, jakiś czas temu zacząłem się uczyć programowania w c#. I tu pojawia się moje pytanie. Nie mam pojęcia od czego zacząć, chodzi mi o to że nie mam pomysłu na swój projekt. Pierwsze banalne aplikacje desktopowe mam już za sobą, lecz gdy chce zrobić coś ambitniejszego (typu gra ala snake) to nie wiem nawet od czego zacząć. Moje pytanie jest więc takie: Jak pokonać tą przepaść od totalnego newbie do kogoś kto jest w stanie napisać porządny program (bardziej rozbudowane aniżeli kilka klas)

1

rozwiązuj zadania z codewars. W końcu któreś natchnie Cię do zrobienia czegoś większego... np. była seria zadań o alfabecie morsa... może to zainspirować do prostej apki tłumaczącej zapisany kors morsa na litery i odwrotnie. Powinna też być możliwość odtwarzania dźwięku kodu morsa, a zapodowanie kodu morsa użytkownik powinien mieć możliwość wprowadzać przez wciskajanie klawisza.

3

@hadre666: najpierw wypadałoby skupić się na zaprojektowaniu gry, rozpisaniu sobie funkcjonalności itd. Pomyśl o tym jak ta gra ma wyglądać, jakie ma posiadać funkcje, czego używać, rozpisać ogólne działanie. Jeśli zaprojektujesz sobie aplikację, to powinieneś wiedzieć od czego zacząć.

Jeśli mimo wszystko nie potrafisz określić od czego zacząć, to zacznij od byle czego. Napisz cokolwiek, byle coś napisać – później powinno pójść gładko. Jeżeli na początku napiszesz coś źle to się nie przejmuj – popraw co nie pasuje i pisz dalej.

Aby wiedzieć od czego zacząć, trzeba nabyć trochę praktyki. Tej praktyki nie nabędziesz, jeśli nigdy nie spróbujesz napisać czegoś większego. Błędne koło, ale każdy miał z nim do czynienia.

1

Myślę, że fundamentalna sprawa to rozbicie dużego problemu na kilka mniejszych. Przykład: kółko i krzyżyk, najpierw pomyśl jak zaimplementować planszę tak abyś mógł stawiać w dowolnym miejscu X lub O. Później pomyśl jak to stawianie X/O można oddelegować do gracza, później zastanów się jak zrobić aby to odbywało się turowo i tak dalej.

0

Chcesz zrobić snake'a? Nigdy wcześniej nie robiłeś snake'a? Nie masz pojęcia jak zacząć?

Nic prostszego. Zobacz jak ktoś inny to zrobił :) Na szczęście nie żyjemy juz w latach 90. Zobacz na YT jak ktoś robi snake'a w Javie, czy w czy tam chcesz go zrobić i później spróbuj sam. Podczas tego procesu poznasz dużo mechanizmów, które ułatwią Ci późniejsze, samodzielne stworzenie podobnej gierki.

0

Możesz na początku więcej się zastanawiać jak zrobić ten program, ale skoro nie masz doświadczenia nie wiem czy to będzie efektywne. Moim zdaniem na poczatku lepiej jest się poobijać. Piszesz kod na czuja, pojawia się problem to go rozwiązujesz, pojawia się drugi i trzeci to temat rozwiązujesz, nieco kod modyfikujesz i lecisz dalej.

Projektowanie ma sens jak masz wiedzę i konkretne ograniczenia, inaczej czas tylko stracisz.

Dlatego na początek spróbuj z metodą na prototypy:

  1. Weź skryptowy język python / lua - (jak znasz podstawy C# to podstawy języka skryptowego załapiesz w 1-2 dni). Po co? Po prostu mniej czasu stracisz na eksperymentowanie, szybciej uzyskasz cokolwiek działającego i mniej czasu spędzisz na przepisywaniu (o czym dalej piszę).

  2. Do tak małych programów nie używaj klas, ani wzorców, nie trać czasu na optymalizacje, zarządzenie pamięcią itp Zamiast tego pisz strukturalnie i generalnie ogranicz się do tworzenia funkcji i pakowania danych w hashmapy / słowniki.

  3. Pisz program o najmniejszych sensownych wymaganiach. Jeśli się udało, zwiększ poprzeczkę (dodaj kolejne funkcjonalności) - jeśli jest za ciężko to przepisz program tak, by łatwiej dało się wprowadzić kolejne funkcje.

0

Każdy ma swoje optymalne sposoby uczenia. Ja podam 2 jakie mi pomagały na początku.
Znajdź coś co ciebie interesuje, albo najlepiej staraj się rozwiązać problem lub pomyśl jaki program ułatwiłby Tobie życie. Taki pomysł znacznie przyspieszy Tobie już wspominane dzielenie problemu na części i wymyślanie jego struktury. Najlepiej, aby ten program nie był konsolowy np. jak nauczysz się robić aplikacje okienkowe będziesz mieć większe pojęcie co musisz się douczyć (łączenie z bazą danych itp.) oraz będziesz mieć pewien "szablon" jak zrobić coś działającego. Po takich krokach będzie Tobie bardzo łatwo dopisywać funkcjonalności. Fajnie też jak znajdziesz kurs w którym ktoś pokazuje jak zrobić aplikację od zera.

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