Autor Wątek: C++ Problem ze stworzeniem ekwipunku.  (Przeczytany 22428 razy)

Offline Acarin1995

  • Użytkownik

# Luty 18, 2014, 21:43:48
Mam teraz inną sprawe...
przeciwnik= new CPrzeciwnik("szczur",15,15,1,3,0);
cout<<"Wchodzisz do jaskini... Na swej drodze spotykasz "<<przeciwnik->nazwa<<"a...!"<<endl;
Nie wyświetla się nazwa przeciwnika ktoś wie dlaczego?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline koirat

  • Użytkownik

# Luty 18, 2014, 21:47:26
Niestety umowa mi zabrania. :(
Mówisz serio ? Masz w umowie że nie będziesz podejmował żadnych zleceń ?

Offline koirat

  • Użytkownik

# Luty 18, 2014, 21:49:32
Mam teraz inną sprawe...
przeciwnik= new CPrzeciwnik("szczur",15,15,1,3,0);
cout<<"Wchodzisz do jaskini... Na swej drodze spotykasz "<<przeciwnik->nazwa<<"a...!"<<endl;
Nie wyświetla się nazwa przeciwnika ktoś wie dlaczego?

jeśli korzystasz z tego konsturktora:
CPrzeciwnik::CPrzeciwnik(string nazwa_, int zycie_,int zycieMax_,int obrazeniaMin_,int obrazeniaMax_)
{
        nazwa_=nazwa_;


to przypisujesz do argumentu argument.

Offline Acarin1995

  • Użytkownik

# Luty 18, 2014, 21:55:14
Błąd tkwił tutaj:
    nazwa_=nazwa_;

}
A powinno być:nazwa=nazwa_;Dzięki.

Offline Acarin1995

  • Użytkownik

# Luty 20, 2014, 18:15:22
Mam proble z tymże kodem:
srand( time( 0 ) );
Postac.trafienie=( rand() % 100 ) + 1;
  if (Postac.trafienie>=20)
cout<<"Nie trafiles..."<<endl;
if (Postac.trafienie<20&&Postac.trafienie>=100)
{
      Postac.trafienieKrytyczne=Postac.trafienie+1-Postac.szansaNaTrafienieKrytyczne;
Postac.obrazenia =rand() % (Postac.atakMax - Postac.atakMin+1) + Postac.atakMin;
if (Postac.trafienie<=Postac.trafienieKrytyczne)
{
cout<<"Twoj atak zada obrazenia Krytyczne!!!"<<endl;
Postac.obrazenia=(Postac.obrazenia/100)*Postac.silaTrafieniaKrytycznego;
}
Przy włączeniu aplikacji wyskakuje "Nie trafiłeś"...
Link do pliku exe: http://adf.ly/dqzEE
« Ostatnia zmiana: Luty 20, 2014, 18:17:41 wysłana przez Acarin1995 »

Offline jelcynek

  • Użytkownik

  • +1
# Luty 20, 2014, 18:31:34
Rozumiesz coś z tego kodu co piszesz? Nie wiem czy po prostu klepiesz na ślepo czy to może literówka, ale poniższy kod nie ma sensu.

if (Postac.trafienie<20&&Postac.trafienie>=100)
Wartość nie może być równocześnie mniejsza od 20 i większa-równa 100. Dlatego do tego fragmentu kodu Ci nigdy nie wejdzie.

Offline Acarin1995

  • Użytkownik

# Luty 20, 2014, 20:21:07
Omg... ;D Literówka... dzięki za pomoc... ;D

Offline koirat

  • Użytkownik

  • +1
# Luty 20, 2014, 20:54:01
Link do pliku exe: http://adf.ly/dqzEE
Tak na przyszłość. Nikt o zdrowych zmysłach nie będzie odpalał twojego pliku exe na swoim komputerze. Nie jesteś osobą zbyt zaufaną w tym momencie.

Jak już coś to wrzucaj źródła.

Offline Acarin1995

  • Użytkownik

# Luty 21, 2014, 15:26:45
// Postac.hpp
        vector <CPrzedmiot*> plecak;
        CPrzedmiot * uzywane_eq[6];
//Postac.cpp
int CPostac::zalozPrzedmiot()
{
int i(0), czynnosc(0);
CPrzedmiot *przedmiot = plecak[i];
przedmiot = uzywane_eq[6];
cout<<"Podaj numer slotu w ktorym znajduje sie przedmiot: ";
    cin>>i;
    if (przedmiot->typ==1) //typ 1 oznacza bron
     bron = new CPrzedmiot();
    bron = plecak[i];
    cout<<uzywane_eq[5]->nazwa;
   

}
Program się zawiesza po wyborze slotu... Co jest nie tak z tym kodem?

Offline quaikohc

  • Użytkownik

  • +2
# Luty 21, 2014, 15:31:43
Program się zawiesza po wyborze slotu... Co jest nie tak z tym kodem?

Niestety wszystko od poczatku do konca jest nie tak. Daj sobie spokoj i zacznij od podstaw, pocwicz na latwiejszych przykladach z jakiegos kursu czy ksiazki.

Offline Acarin1995

  • Użytkownik

# Luty 21, 2014, 15:34:35
Proszę o rozwiązanie problemu ew. poradę co zmienić, a nie komentarz typu "Wszystko jest nie tak".

Offline jelcynek

  • Użytkownik

  • +3
# Luty 21, 2014, 15:43:31
To nie proś bo ten problem to nie twoja liga. Ty nie znasz podstaw podstaw i w tym wątku użytkownicy forum piszą Ci program. Nie znasz elementarnych zasad, którymi się rządzi język c++. Wróc do jakiegoś podstawowego kursu (mam wrażenie, że nigdy z żadnego nie korzystałeś) i gdy opanujesz podstawy to wróć do swojej gry.

Offline MatlertheGreat

  • Użytkownik

  • +2
# Luty 21, 2014, 15:49:19
Posty typu: "To jest mój kod. Naprawcie go" cieszą się tu dużym szacunkiem i na pewno każdy Ci pomoże...

Dobra, koniec z sarkazmem ;D. Co ten kod ma robić, bo za dużo z niego nie wynika?

Cytuj
        int i(0), czynnosc(0);
        CPrzedmiot *przedmiot = plecak[i];
        przedmiot = uzywane_eq[6];
                cout<<"Podaj numer slotu w ktorym znajduje sie przedmiot: ";
        cin>>i;
Tablica wskaźników uzywane_eq ma 6 elementów. Ty odnosisz się do 7( liczy się od 0 ). Zmienna "i" też jest strasznie dziwna. Jej nazwa powinna coś o niej mówić, a co mówi jedna litera? Co to za "czynnosc"?
Cytuj
             bron = new CPrzedmiot();
        bron = plecak[i];
Kolejny logiczny fragment kodu.

Lepiej trochę się poducz, bo kod wskazuje na to, że kompletnie nie wiesz, co piszesz ;)

Offline Rolek

  • Użytkownik

  • +2
# Luty 21, 2014, 19:04:18

Offline MoHeR

  • Użytkownik

  • +6
# Luty 21, 2014, 22:12:10
Kiedy juz skonczysz ta Twoja gre, umiesc w niej linka do tego postu. Najlepiej w dziale "O autorach"