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

Pierwsza gra / ocena

Object Storage Arubacloud
0 głosów
388 wizyt
pytanie zadane 12 maja 2017 w Nasze projekty przez Chlebojad Nowicjusz (190 p.)
edycja 12 maja 2017 przez Chlebojad
Witam, stworzyłem swoją pierwszą grę. Jest tekstowa i zawiera mało contentu co nie zmienia faktu że pisałem ją 4 godziny xD Chciałbym poznać opinie dot. rozwiązań zawartych w grze, czy ma to przyszłość? Mam zamiar trochę ją rozwinąć i zrobić z niej coś w rodzaju Sword And Sandals tylko w formie tekstowej. Mam zamiar zacząć od tej tekstówki, a potem czas zobaczy, może przerzucę się na jakiś silnik i tam coś zrobię :) Dodatkowo tak dla testu dodałem licencje freeware.

http://www.mediafire.com/file/4e823do47z7wzjw/Pierwsza_giera.rar

GIT: https://github.com/Chlebojad/Wojownicy-z-Polani
komentarz 12 maja 2017 przez niezalogowany
Wrzuć źródła na jakieś repo, np https://github.com/
komentarz 12 maja 2017 przez Chlebojad Nowicjusz (190 p.)
dodałem

2 odpowiedzi

+1 głos
odpowiedź 12 maja 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Coś jest nie tak z druga opcją: nie mogę drugi raz walczyć o złoto na arenie i wywala mnie do miasta.

Tak poza tym jest potencjał: Po przejściu na tryb graficzny, miałoby to szanse.
komentarz 12 maja 2017 przez Chlebojad Nowicjusz (190 p.)
Hah dzięki zapomniałem przywrócić przeciwnikowi 100 życia i z automatu wygrywasz xD, na tryb graficzny to mógłbym zrobić 2 część bo nie za bardzo wiem jak bym miał to przerzucić do jakiegoś silnika.
+1 głos
odpowiedź 12 maja 2017 przez niezalogowany

Co do kodu to mam parę uwag:

  • [nr linii] <komentarz> http://stackoverflow.com/a/6474774
  • [7] globalny using namespace to zła praktyka
  • [10] zmienne globalne w takim kodzie są "złem" https://forum.pasja-informatyki.pl/75694/zmienne-globalne-za-i-przeciw?show=75782#a75782
  • [10] hoisting zmiennych to zaszłość sprzed standardu ANSI C89. w C++ przyjęło się deklarować zmienne leniwie (a więc dopiero przed momentem gdy trzeba użyć danej zmiennej)
  • [16] nieskończona pętla jest bardzo nieelegancka, powinieneś raczej zastosować konstrukcję korzystającą z flagi mówiącej o zakończeniu działania kodu (przykład Listing 1)
  • [32] system("cls"); kompatybilność tylko z Windows, bardzo nieładne czyszczenie konsoli (potencjalnie bez zgody użytkownika)
  • [49] goto jest ok, ale tylko dla kernelowców Linuxa: https://stackoverflow.com/questions/3517726/what-is-wrong-with-using-goto
  • [114-119] (przykładowa linia) mało estetycznie wyglądający kod
  • [159] Sleep na głównym wątku = nieresponsywny program => zła praktyka (zaniedbany User-Experience)

Listing 1

/* zamiast tego:
for(;;) //Nieskonczona petla
{
   ...
   if(...) break;)
}


użyj: */
bool isExit = true;
while (!isExit) {
  if (...) {
    is_exit = true;
  }
}

W swoich uwagach pominąłem (ze względu na niski poziom zaawansowania):

  • niejednolity styl nazewnictwa
  • polskie nazwy zmiennych
  • zasada "1 instrukcja = 1 linia kodu"
  • sporo redundantnego kodu, ale skoro piszesz wszytko w main to pewnie jeszcze nie doszedłeś do funkcji, więc można to jeszcze wybaczyć
komentarz 12 maja 2017 przez Dexterim Dyskutant (8,370 p.)
Tak przy okazji wiesz może jak elegancko wyczyścić konsole?

system("cls")  nie zawsze działa nawet na Windows

Gdzieś kiedyś widziałem jak ktoś podmieniał jakoś to co jest w konsoli ale niestety nie pamiętam gdzie to było
komentarz 12 maja 2017 przez niezalogowany
Użyj liba ncursers (odpowiednik to pdcurses dla Win)
komentarz 12 maja 2017 przez Chlebojad Nowicjusz (190 p.)
Dzięki za uwagi dot. mojego kodu, tak naprawdę to jest mój pierwszy większy program, następnym razem postaram się to bardziej uporządkować bo sam się gubię. Gre zacząłem pisać gdy skończyłem 7 odc. poradnika c++ bo zacząłem się gubić i postanowiłem poćwiczyć, tak powstała ta gra.

Z tego co rozumiem masz na myśli pisanie "using namespace std;" i zmiennych mam pisać wewnątrz int main()? Nie za bardzo wiem o co chodzi dopiero zaczynam.

Głowiłem się czy da się odnieść do innego pliku niż głównego cpp, bo np. wolałbym napisać sklep w osobnym pliku niż wszystko w jednym :/
komentarz 12 maja 2017 przez niezalogowany

Z tego co rozumiem masz na myśli pisanie "using namespace std;" i zmiennych mam pisać wewnątrz int main()? Nie za bardzo wiem o co chodzi dopiero zaczynam

Tak

Głowiłem się czy da się odnieść do innego pliku niż głównego cpp, bo np. wolałbym napisać sklep w osobnym pliku niż wszystko w jednym :/

Da się, przy użyciu #include

Polecam nie skupiać się na tylko jednym źródle tutów, a korzystać z wielu (szczególnie że te od MZ nie są wybitne), np: http://cpp0x.pl/kursy/Kurs-C++/1

 

komentarz 12 maja 2017 przez TheGoldenJet Nowicjusz (130 p.)
Fajnie wszystko działa, próbowałem wpisać jakąs literę ale od razu błąd wychwycił. Jednej tylko rzeczy nie dopracowałeś, gdy wpisałem liczbę np. 32 gdzie nie ma takiej instrukcji to muszę czekać te 3 sekundy jak przy tym gdy walczę ale tak to nic :)

Podobne pytania

+4 głosów
2 odpowiedzi 401 wizyt
+3 głosów
7 odpowiedzi 1,227 wizyt
pytanie zadane 5 czerwca 2017 w Rozwój zawodowy, nauka, praca przez mix923 Początkujący (450 p.)
+2 głosów
0 odpowiedzi 193 wizyt

92,563 zapytań

141,413 odpowiedzi

319,590 komentarzy

61,948 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...