Проектиране на игра

Да се напишат набор от функции, с които да се симулира ролева игра. Всички функции да приемат четири параметъра: здраве, пари, сила, чар и да позволяват промяната им. Всяка функция трябва да отпечатва какво се случва в нея и да променя параметрите за които отговаря. Когато здравето стигне стойност 0, играта приключва. Ето примерен списък от функции (вие може да измислите и други) и действието им:

  1. Избор на герой – позволява да изберете един от следните герои, всеки с различни параметри:
    1. здравеняк – здраве 50, пари 10, сила 40, чар 10
    2. рицар – здраве 30, пари 20, сила 50, чар 20
    3. тарикат – здраве 20, пари 50, сила 20, чар 20
    4. магьосник – здраве 30, пари 10, сила 30, чар 50
  2. Съобщи състояние – съобщава текущите параметри на героя
  3. Преход – намалява силата с 10
  4. Храна – увеличава силата с 5
  5. Почивка – увеличава силата с 10 и здравето с 5
  6. Битка – пита за герой, с който ще се биете. Сравнявате своят показател с този, в който героят е най-силен. Намалява силата и здравето и на двете страни с по 10, но ако спечелите битката си прибавяте и неговите показатели.
  7. Търговия – пита с кой ще търгувате. Ако имате повече чар от него, печелите 10 пари, иначе губите 10
  8. Обучение – пита при кой ще се обучавате. Губите 10 пари, но печелите най-силния показател на героя.
  9. Съюз – пита с кой се съюзявате. Печелите всички негови параметри, губите 5 пари.
  10. Медитация – печелите 10 чар.

Да се демонстрира една примерна игра чрез извикване на функциите.

По желание: да се направи истинска игра, като се позволи двама играчи да избират своят герой и после един след друг да избират какво действие да предприемат. При достигане от някой на 100 точки по всички параметри той печели играта.

Публикувано в 11в с етикети . Постоянна връзка.

One Response to Проектиране на игра

  1. Greg каза:
    #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;
    }
    

Вашият коментар