Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Moja pierwsza gra w c++


Rekomendowane odpowiedzi

Opublikowano

Cześć i czołem. Dziś napisałem swoją pierwszą grę w c++, ale jak na razie sporo w niej błędów. Na końcu udostępnię ją do zagrania, ale na początek kilka pytań.

1.Gierka jest typu miecze i sandały. Zasada walki jest prosta. Mam atak o wartości 30, Ty obronę o wartości 20, więc odejmę Ci od Twojego hp o wartości 100, 10. Jednakże, jeśli Atak wynosi 20, a obrona 30, to te 10 punktów zostaje dodawane do hp. Jak zagracie, to sami zobaczycie o co mi chodzi.

2. Chciałbym dodać parę skili. Nic trudnego. Skill - leczenie - w momencie użycia dodaje trochę hp. Ale najpierw chciałbym go się wyuczyć, a potem go używać. A nie, że skille są znikąd.

3.Gdy przejdziecie grę (10 walk), jako napisy końcowe wyświetlą się wam, że Sheida (mój drugi nick) stworzył tą grę. Zaraz pod tym pojawią się napisy, które były na początku. O co biega z tym ?

 

Mam nadzieję, że ktoś się zainteresuję tym i pomoże mi zrobić tą pierwszą gierkę bez bugów.

 

http://www.speedyshare.com/Fsbve/Kolonia-Karna.exe

 

https://www.virustotal.com/pl/file/3ed090704d736a571f8b34c52a004178bc1ef2022bb15912975dcc0f53cd83a0/analysis/1398499195/

 

EDIT:

Dodałem skan. Nie wiem czemu, Mcfree wykrył jakiegoś złego wirusa.

 

To kod z końca gry.

 

 

void WygranaGry()
{
    cout << "Wygrales gre ! Gratuluje !"<<endl;
    cout << "Czekaj na drugie wydanie gry !"<<endl;
    cout << "Tworcy : "<<endl;
    cout << "Sheida"<<endl;
    getchar();
}
void Menu()
{
    system ("cls");
    if(dzien==10)
        WygranaGry();
    else
    {
        cout << "Walka : "              <<dzien<<"            ";cout <<"Zloto :"<<kasa; cout <<"                "<<"Pozostalo walk do wyjscia : "<<dzienw<<endl;
    cout << "-------------------------------------------------------------------------------"<<endl;
    cout << "Co chcesz robic ?"     <<"\n";
    cout << "1.Walczyc"             <<"\n";
    cout << "2.Kupic bron"          <<"\n";
    cout << "3.Kupic pancerz"       <<"\n";
    //cout << "4.Rozwinac skilla"     <<"\n";
    cout << "4.Statystyki"          <<"\n";
    wybor=getch();
    switch (wybor)
    {
    case '1':
        Walka();
        break;
    case '2':
        Sbronie();
        break;
    case '3':
        Szbroje();
    break;
    //case '4':
    //    Skille();
    //break;
    case '4':
        Statystyki();
        break;
    default :cout << "Nie ma takiego znaku !";Menu();
    }
    main();
    }

}
maciek2466sygnatura.jpg
Opublikowano

1. Bardzo prosto. Jeśli wartość będzie mniejsza lub równa zero, atak będzie równy zero, chyba że algorytm obrony ma być inny.

2. Nad tym musisz sam pogłówkować. NPC, levelowanie, itemy...

3. Bug w kodzie, musiałbym go obdukać, żeby zobaczyć.

 

Skan przy execach jest raczej konieczny, więc tak.

 

PS. Strasznie trudna ta gra...(jednak nie :P) ale zauważyłem że waląc w tors pierwszego oponenta można dość prosto wygrać.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Wywołujesz main w innej funkcji? Pierwszy raz coś takiego widzę i jestem prawie pewien, że to jest błąd, bo to wykonanie rekurencyjne...

 

Ja bym wolał widzieć cały kod.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Znalazłem błąd , atakujcą wroga (nie zawsze ) dostajemy obrażenia -2 co zamiast nam odejmować hp to nam dodaje hp .

 

 

Kolega chyba nie czyta do końca:

 

Mam atak o wartości 30, Ty obronę o wartości 20, więc odejmę Ci od Twojego hp o wartości 100, 10. Jednakże, jeśli Atak wynosi 20, a obrona 30, to te 10 punktów zostaje dodawane do hp. Jak zagracie, to sami zobaczycie o co mi chodzi.

 

 

@topic:

 

Działasz na rekurencjach w tym momencie funkcji Menu:

default :cout << "Nie ma takiego znaku !";Menu();

I w tym mniej bezpośrednio:

main();

Na końcu funkcji Menu. Dużo lepszym działaniem byłoby użycie pętli while z warunkiem wyjścia, takim jak zmienna bool w pęli głównej programu.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Ja od siebie tylko dodam, że mógłbyś zablokować możliwość użycia czaru gdy nie ma odpowiedniej ilości many, bo całą grę można przejść od razu klikając w walce jedynie 4 i 2, mana po prostu schodzi na minus :P

baner3.png

Opublikowano

Poprawiłem już to. Mogę udostępnić grę bez bugów. Dodałem nie ogólną obronę, tylko obronę głowy, torsu i nóg. Zamierzam dodać funkcję zapisu i wczytania. Ale, to może w między czasie.

maciek2466sygnatura.jpg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...