[C++]Prosta Gra w konsoli - Co zrobić aby HP nie było na minusie ?
Ostatnio zmodyfikowano 2015-02-15 21:04
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. 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; } } }
|
|
Monika90 |
» 2015-02-15 20:56:30 if (strength > monster_health) strength = monster_health;
|
|
JMII89 Temat założony przez niniejszego użytkownika |
» 2015-02-15 21:04:33 Dzięki . Wszystko pięknie działa :). |
|
« 1 » |