Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Prosta Gra w konsoli - Co zrobić aby HP nie było na minusie ?

Ostatnio zmodyfikowano 2015-02-15 21:04
Autor Wiadomość
JMII89
Temat założony przez niniejszego użytkownika
[C++]Prosta Gra w konsoli - Co zrobić aby HP nie było na minusie ?
» 2015-02-15 20:41:13
Więc mam takie pytanie . W jaki sposób można wylosować atak tak aby po zaatakowaniu HP potwora lub moje nie było na minusie ?? Chodzi mi o to , że np gdy potwór ma 50 hp i moja wartość ataku zostanie wylosowana na 60 to abym zaatakował go z 50 obrażeniami a nie 60 tak aby jego hp wynosiło 0.
C/C++
void walka( int opcja, string name[], int & strength, int & health, int monster_health, int monster_strength, int & level, int & wymagany_exp, int & exp, int & ilosc_potow, int & gold )
{
    switch( opcja )
    {
    case 1:
        {
            int wylosowana = rand() % 3;
            cout << "Wylosowales walke z : " << name[ wylosowana ] << endl;
            int walka = 1;
            while( walka == 1 )
            {
                strength = rand() % 40 * level;
                monster_strength = rand() % 20;
                cout << "Zaatakowales " << name[ wylosowana ] << " z obrazeniami " << strength << endl;
                cout << name[ wylosowana ] << " zaatakowal cie z obrazeniami " << monster_strength << endl;
                health -= monster_strength;
                monster_health -= strength;
                cout << "Twoje HP wynosi teraz : " << health << " a potwora HP wynosi : " << monster_health << endl;
               
                if( monster_health <= 0 )
                {
                    cout << "Brawo ! Wygrales z " << name[ wylosowana ] << endl;
                    if( name[ wylosowana ] == "Dziki Pies" )
                    {
                        int losuj = rand() % 20;
                        int losuj_golda = rand() % 200;
                        gold += losuj_golda;
                        exp += losuj * level;
                       
                        cout << "Zyskales : " << losuj * level << " expa" << "." << "Brakuje ci jeszcze : " << wymagany_exp - exp << endl;
                        cout << "Zyskales takze : " << losuj_golda << " golda" << endl;
                        if( exp >= wymagany_exp )
                        {
                            level++;
                            exp = 0;
                            wymagany_exp += 1220;
                            health *= 100;
                           
                        }
                       
                    }
                   
                    if( name[ wylosowana ] == "Wilk" )
                    {
                        int losuj = rand() % 50;
                        int losuj_golda = rand() % 200;
                        gold += losuj_golda;
                        exp += losuj * level;
                        cout << "Zyskales : " << losuj * level << " expa" << "." << "Brakuje ci jeszcze : " << wymagany_exp - exp << endl;
                        cout << "Zyskales takze : " << losuj_golda << " golda" << endl;
                        if( exp >= wymagany_exp )
                        {
                            level++;
                            exp = 0;
                            wymagany_exp += 1220;
                            health *= 100;
                        }
                       
                       
                    }
                   
                    if( name[ wylosowana ] == "Niedzwiedz" )
                    {
                        int losuj = rand() % 100;
                        int losuj_golda = rand() % 200;
                       
                        gold += losuj_golda;
                        exp += losuj * level;
                        cout << "Zyskales : " << losuj * level << " expa" << "." << "Brakuje ci jeszcze : " << wymagany_exp - exp << endl;
                        cout << "Zyskales takze : " << losuj_golda << " golda" << endl;
                        if( exp >= wymagany_exp )
                        {
                            level++;
                            exp = 0;
                            wymagany_exp += 1220;
                            health *= 100;
                        }
                    }
                   
                    walka = 0;
                }
               
                else if( health <= 0 )
                {
                    cout << "Niestety przegrales z : " << name[ wylosowana ] << endl;
                   
                    walka = 0;
                }
               
            }
           
           
            break;
           
        }
       
    case 2:
        {
            int wybor;
            bool dobrze;
            do
            {
                cout << "Co chcesz kupic ? Masz do wyboru :  " << endl;
                cout << "[1]Poty " << endl;
                cout << "Wiec co chcesz wybrac ? : ";
                cin.clear();
                cin.sync();
                cin >> wybor;
                if( cin.good() )
                {
                    dobrze = true;
                }
                else
                {
                    dobrze = false;
                }
               
            } while( dobrze != true );
           
            if( wybor == 1 )
            {
                int ilosc;
                cout << "Ile chcesz kupic potow ? : " << endl;
                cin >> ilosc;
                cout << "Kupiles poty w ilosci : " << ilosc << endl;
                ilosc_potow += ilosc;
                cout << "Czy chcesz je teraz uzyc ? Napisz t - jesli tak lub y - jesli nie " << endl;
                char odp;
                cin.clear();
                cin.sync();
                cin >> odp;
                if( odp == 't' )
                {
                    int wybrana_ilosc;
                    cout << "W jakiej ilosci chcesz uzyc poty ? : ";
                    cin >> wybrana_ilosc;
                    ilosc -= wybrana_ilosc;
                    ilosc_potow -= ilosc;
                    int odnowa = rand() % 60 * ilosc;
                    cout << "Odnowiles swoje zycie o : " << odnowa << endl;
                    health += odnowa;
                }
                else
                {
                    cout << "Wychodze z sklepu! " << endl;
                }
               
            }
           
            break;
           
        }
       
    case 3:
        {
           
           
            break;
        }
       
    case 4:
        {
            int wybrana_ilosc;
            cout << "W jakiej ilosci chcesz uzyc poty ? : " << endl;
            cout << "Masz ich : " << ilosc_potow << endl;
            cin >> wybrana_ilosc;
            ilosc_potow -= wybrana_ilosc;
            int odnowa = rand() % 60 * wybrana_ilosc;
            cout << "Odnowiles swoje zycie o : " << odnowa << endl;
            health += odnowa;
            break;
        }
    case 5:
        {
            pokaz( health, level, strength, gold, exp, wymagany_exp, ilosc_potow );
            break;
        }
       
       
       
       
    }
   
}
P-126664
Monika90
» 2015-02-15 20:56:30

if (strength > monster_health)
    strength = monster_health;
P-126665
JMII89
Temat założony przez niniejszego użytkownika
» 2015-02-15 21:04:33
Dzięki . Wszystko pięknie działa :).
P-126666
« 1 »
  Strona 1 z 1