• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ "Inteligentna" gra w statki

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
1,676 wizyt
pytanie zadane 16 stycznia 2019 w Nasze projekty przez Mavannkas Bywalec (2,290 p.)
Hej, parę dni temu uznałem, że napiszę sobie grę w statki w konsoli za pomocą c++. Z biegiem czasu uznałem, że warto byłoby oprzeć ją na mechanizmie uczenia się od człowieka. Chciałem to zaimplementować w wybieraniu planszy do rozgrywki i strzelania w przeciwnika :). Tu zgłaszam się z prośbą do was. Moglibyście podesłać mi jakieś swoje kombinacje ułożenia statków? Mam jeden pięciomasztowiec jeden cztero dwa trzy dwa dwu i dwa jedno. Mogą być ułożone dowolnie byleby stykaly się bokiem pola i jeden nie znajdował się bezpośrednio obok. Pragnę zaznaczyć, że dopiero uczę się programować i ten projekt jest w gruncie rzeczy jednym ze sposobów na pogłębienie zrozumienia :) jeśli ktoś to ciekawi to tu możecie zobaczyć aktualny stan kodu github.com/Mavannkas . Wszelkie sugestie, uwagi, podpowiedzi z chęcią będą przezemnie wysłuchanie :). Dzięki za pomoc!

2 odpowiedzi

+2 głosów
odpowiedź 16 stycznia 2019 przez Michał Gibas Pasjonat (19,630 p.)
Ogólnie mam trochę uwag do samej struktury projektu:

- Czemu repozytorium nazywa się master? Powinno nazywać się "ShipWars", "Statki" albo coś w tym stylu. - Pilk źródłowy nazywa się "Statki .cpp" (ze spacją między nazwą a rozszerzeniem) - tu nie powinno być tej spacji.

- Nie powinieneś umieszczać pilków obiektowych (".o") w repozytorium, a jeśli chodzi o ".exe" to też raczej nie powinno tam tego być. Polecam poczytać o dobrych praktykach (np. SOLID) w programowaniu. Widzę, że jesteś początkujący, ale im wcześniej zacznie się wdrażać te dobre praktyki tym lepiej. Mimo iż jest to polskojęzyczny projekt, to pliki nie powinny mieć polskich nazw, a szczególnie pliki źródłowe.

Co do kodu to:

- Dobrze by było podzielić wszystko ta kilka plików - Nazwa obiektu klasy std::ifstream, nie powinna być jedną wielką literą "F" (pradopodobnie jakiś nawyk z C, albo podglądnięte na jakieś stronce), nazwy powinny być raczej w pełni opisowe i objaśniające przeznaczenie. Nazwy pisane wielkimi literami np. "FILE" używamy do stałych.

- Przydałoby się trochę to zautomatyzować, bo ten wielki switch case i te zagnieżdżone if'y rażą trochę w oczy. Dobrze by było jakbyś nad tym pomyślał i spróbował to jakoś skrócić. Na początku większość osób tak pisze, więc nie ma się czym przejmować (nie mniej jednak trzeba to poprawić) ;)

Pozdrawiam!
komentarz 16 stycznia 2019 przez Mavannkas Bywalec (2,290 p.)
Bardzo dziękuje za tak rozbudowaną opinię i zwracanie uwagi na takie szczegóły :). Już wszystko co mogłem zrobić od ręki poprawiłem. (If'y zrobię jutro przez zwykłe lenistwo zrobiłem tak) a co do dobrych praktyk to staram się stosować do tych które znam lecz jestem na tyle nowy w temacie programowania (taka normalna nauka od miesiąca) to uznałem, że nie będę się wczytywać w szczegóły dobrych praktyk. Znając mnie bardziej bym się zastanawiał nad tym czy dobrze coś nazywam niż pisał kolejne segmenty programu :D. Na pewno w wolnej chwili dokształcę się w tą stronę. I w przyszłości planuje zająć się sztuczną inteligencją ponieważ strasznie ciekawią mnie rzeczy których do końca nie rozumiem. Polecisz może jakieś strony czy książki traktujące o tym (sieci neuronowe algorytmy genetyczne itd)? Byłbym bardzo wdzięczny.
komentarz 17 stycznia 2019 przez Michał Gibas Pasjonat (19,630 p.)
Osobiście nie znam się na AI, więc niewiele ci podpowiem. Zanim zabierzesz się za AI, podszlifuj trochę programowanie i zrób trochę prostszych projektów.
+1 głos
odpowiedź 16 stycznia 2019 przez mokrowski Mędrzec (158,660 p.)
Popraw mnie ale nie widzę przeszkód byś wygenerował je losowo (ustawienia) wg. swoich wymagań. Bo pytasz o stan planszy a nie o strategię rozgrywki.
komentarz 16 stycznia 2019 przez Mavannkas Bywalec (2,290 p.)
Wiem, że mogę je generować losowo. Lecz chce aby to brało wzorce od człowieka. Trochę dziwnie ale mam taki zamysł

Podobne pytania

+7 głosów
5 odpowiedzi 8,133 wizyt
pytanie zadane 14 października 2015 w Nasze projekty przez emSon Stary wyjadacz (10,480 p.)
0 głosów
3 odpowiedzi 2,098 wizyt
pytanie zadane 20 maja 2016 w C i C++ przez mat07 Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 722 wizyt
pytanie zadane 13 listopada 2018 w C i C++ przez Mariusz Maik Nowicjusz (220 p.)

93,431 zapytań

142,427 odpowiedzi

322,653 komentarzy

62,795 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...