Да се напишат набор от функции, с които да се симулира ролева игра. Всички функции да приемат четири параметъра: здраве, пари, сила, чар и да позволяват промяната им. Всяка функция трябва да отпечатва какво се случва в нея и да променя параметрите за които отговаря. Когато здравето стигне стойност 0, играта приключва. Ето примерен списък от функции (вие може да измислите и други) и действието им:
- Избор на герой – позволява да изберете един от следните герои, всеки с различни параметри:
- здравеняк – здраве 50, пари 10, сила 40, чар 10
- рицар – здраве 30, пари 20, сила 50, чар 20
- тарикат – здраве 20, пари 50, сила 20, чар 20
- магьосник – здраве 30, пари 10, сила 30, чар 50
- Съобщи състояние – съобщава текущите параметри на героя
- Преход – намалява силата с 10
- Храна – увеличава силата с 5
- Почивка – увеличава силата с 10 и здравето с 5
- Битка – пита за герой, с който ще се биете. Сравнявате своят показател с този, в който героят е най-силен. Намалява силата и здравето и на двете страни с по 10, но ако спечелите битката си прибавяте и неговите показатели.
- Търговия – пита с кой ще търгувате. Ако имате повече чар от него, печелите 10 пари, иначе губите 10
- Обучение – пита при кой ще се обучавате. Губите 10 пари, но печелите най-силния показател на героя.
- Съюз – пита с кой се съюзявате. Печелите всички негови параметри, губите 5 пари.
- Медитация – печелите 10 чар.
Да се демонстрира една примерна игра чрез извикване на функциите.
По желание: да се направи истинска игра, като се позволи двама играчи да избират своят герой и после един след друг да избират какво действие да предприемат. При достигане от някой на 100 точки по всички параметри той печели играта.


#include <cstdlib> #include <iostream> using namespace std; void izbor_na_geroi(int &sila, int &energiq, int &jivot, int &burzina) { cout<<"1 - Chovek\n" <<"2 - Gnom\n" <<"3 - Dwarf\n" <<"4 - Night elf\n"; int izbor; cout<<"Vashiqt izbor e: "; cin>>izbor; switch(izbor) { case 1: sila=60, energiq=80, jivot=100, burzina=70; break; case 2: sila=30, energiq=100, jivot=50, burzina=90; break; case 3: sila=100, energiq=40, jivot=80, burzina=40; break; case 4: sila=40, energiq=60, jivot=90, burzina=100; break; default: sila=5, energiq=10, jivot=0, burzina=0; break; } } void heartstone(int &sila, int &energiq, int &jivot, int &burzina) { cout<<"\n Geroqt pristigna na mqstoto\n"; sila-=5; energiq-=10; } void stats(int sila, int energiq, int jivot, int burzina) { cout<<endl; cout<<" Informaciq za geroq\n"; cout<<" Silata "<<sila<<endl; cout<<" Engergiqta "<<energiq<<endl; cout<<" Jivota "<<jivot<<endl; cout<<" Burzina "<<burzina<<endl; } void bitka(int &sila, int &energiq, int &jivot, int &burzina) { int sila1, energiq1, jivot1, burzina1; cout<<"\nIzberete si protivnik\n"; izbor_na_geroi (sila1, energiq1, jivot1, burzina1); srand (time(NULL)); int shans = rand() % 100; // v1 in the range 0 to 99 if (shans>60) { system("Color 0B"); cout<<"\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"; cout<<"<<<<<<<!!!POBEDA!!! >>>>>>>>>>>>\n"; cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"; sila=sila+10; energiq=energiq+10; jivot=jivot+10; burzina+=10; } else { system("Color 0C"); cout<<"\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"; cout<<"<<<<<<<<< !!!ZAGUBA!!! >>>>>>>>>>>>>>\n"; cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"; sila=sila-5; energiq=energiq-5; jivot=jivot-5; burzina+=-5; } if (energiq<0) return; stats (sila, energiq, jivot, burzina); } int main(int argc, char *argv[]) { int sila, energiq, jivot, burzina; cout<<"\nIzberete si edin ot slednite geroi\n"; izbor_na_geroi (sila, energiq, jivot, burzina); heartstone (sila, energiq, jivot, burzina); stats (sila, energiq, jivot, burzina); do { bitka (sila, energiq, jivot, burzina); } while (energiq>0); // (zdrave, pari, sila, charm); system("PAUSE"); return EXIT_SUCCESS; }