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

C++ "Inteligentna" gra w statki

0 głosów
201 wizyt
pytanie zadane 16 stycznia w Nasze projekty przez Mavannkas Obywatel (1,040 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 przez Michał Gibas Pasjonat (15,470 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 przez Mavannkas Obywatel (1,040 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 przez Michał Gibas Pasjonat (15,470 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 przez mokrowski VIP (109,280 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 przez Mavannkas Obywatel (1,040 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 4,525 wizyt
pytanie zadane 14 października 2015 w Nasze projekty przez emSon Stary wyjadacz (10,740 p.)
0 głosów
3 odpowiedzi 629 wizyt
pytanie zadane 20 maja 2016 w C i C++ przez mat07 Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 111 wizyt
pytanie zadane 13 listopada 2018 w C i C++ przez Mariusz Maik Nowicjusz (220 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

65,641 zapytań

112,265 odpowiedzi

236,884 komentarzy

46,639 pasjonatów

Przeglądających: 158
Pasjonatów: 8 Gości: 150

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...