Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "headlines.h"
- #include <time.h>
- #include <cstdlib>
- #include <stdio.h>
- #include <windows.h>
- #include <conio.h>
- using namespace std;
- void Heroes::lvl_up(Player * obj)
- {
- Menu_Game menu;
- static int counter = 1;
- int *pointer_array_lvl = new int[counter];
- pointer_array_lvl[0] = 50;
- if(counter-1 == 1)
- {
- for(int i = 1; i <= counter-1; i++)
- {
- pointer_array_lvl[i] = pointer_array_lvl[i-1]*2 + pointer_array_lvl[i-1];
- }
- }
- else if(counter > 1)
- {
- for(int i = 2; i <= counter-1; i++)
- {
- pointer_array_lvl[i] = pointer_array_lvl[i-2]*2 + pointer_array_lvl[i-1]*2;
- }
- }
- for(int j = counter-1; j < counter; j++)
- {
- if(obj -> _experience >= pointer_array_lvl[j])
- {
- cout << endl << endl << "LVL UP!!!!!";
- obj -> _lvl = (j+2);
- obj -> _strength += 10;
- obj -> _const_HP += 20;
- counter++;
- break;
- }
- }
- menu.nr_index = counter;
- cout << "W funkcji: " << menu.nr_index;
- getchar();getchar();
- delete pointer_array_lvl;
- menu.lvl_up_bot(&menu);
- }
- void Menu_Game::lvl_up_bot(Menu_Game * obj)
- {
- _const_HP_bot = new int[nr_index];
- _const_strength_bot = new int[nr_index];
- _const_lvl_bot = new int[nr_index];
- cout << nr_index;
- getchar();getchar();
- if(nr_index == 1)
- {
- _const_HP_bot[0] = 0;
- _const_strength_bot[0] = 0;
- _const_lvl_bot[0] = 0;
- max_i = 0;
- }
- else if(nr_index == 2)
- {
- _const_HP_bot[1] = 20;
- _const_strength_bot[1] = 10;
- _const_lvl_bot[1] = 1;
- max_i = 1;
- }
- else if(nr_index > 2)
- {
- for(int i = 2; i < nr_index; i++)
- {
- _const_HP_bot[i] = _const_HP_bot[i-1] + _const_HP_bot[i-2];
- _const_strength_bot[i] = _const_strength_bot[i-1] + _const_strength_bot[i-2];
- _const_lvl_bot[i] = _const_lvl_bot[i-1] + 1;
- max_i = i;
- }
- }
- _const_HP_b = _const_HP_bot[max_i];
- _const_strength_b = _const_strength_bot[max_i];
- _const_lvl_b = _const_lvl_bot[max_i];
- delete [] _const_HP_bot;
- delete [] _const_strength_bot;
- delete [] _const_lvl_bot;
- }
- void Menu_Game::random_enemy()
- {
- srand(time(NULL));
- int random_number = rand()%3;
- if(random_number == 0)
- {
- Warrior war;
- name = war._name;
- HP = war._HP;
- strength = war._strength;
- specialization = spec(war._specialization);
- lvl = war._lvl;
- }
- else if(random_number == 1)
- {
- Wizard wiz;
- name = wiz._name;
- HP = wiz._HP;
- strength = wiz._strength;
- specialization = spec(wiz._specialization);
- lvl = wiz._lvl;
- }
- else if(random_number == 2)
- {
- Archer arch;
- name = arch._name;
- HP = arch._HP;
- strength = arch._strength;
- specialization = spec(arch._specialization);
- lvl = arch._lvl;
- }
- }
- void Menu_Game::system_figth(Player * obj)
- {
- Heroes hero;
- hero.lvl_up(obj);
- Menu_Game menu;
- system("cls");
- random_enemy();
- cout << _const_HP_b << endl;
- cout << _const_strength_b << endl;
- cout << _const_lvl_b << endl;
- getchar();getchar();
- HP += _const_HP_b;
- strength += _const_strength_b;
- lvl += _const_lvl_b;
- int counter;
- int percent = 90;
- char choose;
- srand(time(NULL));
- int random_number = rand()%9+1;
- if((random_number == 1) || (random_number == 3) || (random_number == 5) || (random_number == 7) || (random_number == 9))
- {
- counter = 1;
- }
- else if((random_number == 2) || (random_number == 4) || (random_number == 6) || (random_number == 8) || (random_number == 10))
- {
- counter = 2;
- }
- while(true)
- {
- srand(time(NULL));
- int plus_minus_random_number = rand()%20-10;
- srand(time(NULL));
- int miss_random_number = rand()%10+1;
- cout << " " << obj -> _name << "\t" << "\t" << name << endl;
- cout << " " << spec(obj -> _specialization) << "\t" << "\t" << specialization << endl;
- cout << " Lvl: " << obj -> _lvl << "\t" << "\t" << "Lvl: " << lvl << endl << endl;
- cout << " " << obj -> _HP << "\t" << "\t" << "\t" << HP << endl << endl;
- Sleep(1000);
- if(counter == 1)
- {
- if(obj -> _HP < obj -> _const_HP/2)
- {
- if(obj -> _my_heals > 0)
- {
- cout << endl << endl << "Do you want use heal? pieces: " << obj -> _my_heals;
- cout << endl << endl;
- cout << "1. Use" << endl;
- cout << "2. NO" << endl << endl;
- choose = getch();
- switch(choose)
- {
- case '1':
- {
- obj -> _HP += 30;
- obj -> _my_heals -= 1;
- cout << " HP: +30" << endl << endl;
- break;
- }
- case '2':
- {
- break;
- }
- }
- }
- }
- if(specialization == "Warrior")
- {
- if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 5) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) || (miss_random_number == 9) || (miss_random_number == 10))
- {
- cout << " Asks blow" << "\t" << "\t" << "-" << obj -> _strength - plus_minus_random_number;
- if((obj -> _strength - plus_minus_random_number) > ((obj -> _strength*percent)/70))
- {
- cout << " CRITICAL";
- }
- HP -= obj -> _strength - plus_minus_random_number;
- Sleep(1500);
- }
- else if(miss_random_number == 3)
- {
- cout << " Asks blow" << "\t" << "\t" << "MISS" << endl;
- Sleep(1500);
- }
- }
- else if(specialization == "Wizard")
- {
- if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) || (miss_random_number == 9) || (miss_random_number == 10))
- {
- cout << " Asks blow" << "\t" << "\t" << "-" << obj -> _strength - plus_minus_random_number;
- if((obj -> _strength - plus_minus_random_number) > ((obj -> _strength*percent)/70))
- {
- cout << " CRITICAL";
- }
- HP -= obj -> _strength - plus_minus_random_number;
- Sleep(1500);
- }
- else if((miss_random_number == 3) || (miss_random_number == 5))
- {
- cout << " Asks blow" << "\t" << "\t" << "MISS" << endl;
- Sleep(1500);
- }
- }
- else if(specialization == "Archer")
- {
- if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) || (miss_random_number == 9) || (miss_random_number == 10))
- {
- cout << " Asks blow" << "\t" << "\t" << "-" << obj -> _strength - plus_minus_random_number;
- if((obj -> _strength - plus_minus_random_number) > ((obj -> _strength*percent)/70))
- {
- cout << " CRITICAL";
- }
- HP -= obj -> _strength - plus_minus_random_number;
- Sleep(1500);
- }
- else if((miss_random_number == 3) || (miss_random_number == 5) || (miss_random_number == 8))
- {
- cout << " Asks blow" << "\t" << "\t" << "MISS" << endl;
- Sleep(1500);
- }
- }
- }
- else if(counter == 2)
- {
- if(spec(obj -> _specialization) == "Warrior")
- {
- if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 5) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) || (miss_random_number == 9) || (miss_random_number == 10))
- {
- cout << " -" << strength - plus_minus_random_number << "\t" << "\t" << "\t" << "Asks blow";
- if((strength - plus_minus_random_number) > ((strength*percent)/70))
- {
- cout << " CRITICAL";
- }
- obj -> _HP -= strength - plus_minus_random_number;
- Sleep(1500);
- }
- else if(miss_random_number == 3)
- {
- cout << " MISS" << "\t" << "\t" << "\t" << "Asks blow" << endl;
- Sleep(1500);
- }
- }
- else if(spec(obj -> _specialization) == "Wizard")
- {
- if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) ||(miss_random_number == 8) || (miss_random_number == 9) || (miss_random_number == 10))
- {
- cout << " -" << strength - plus_minus_random_number << "\t" << "\t" << "\t" << "Asks blow";
- if((strength - plus_minus_random_number) > ((strength*percent)/70))
- {
- cout << " CRITICAL";
- }
- obj -> _HP -= strength - plus_minus_random_number;
- Sleep(1500);
- }
- else if((miss_random_number == 3) || (miss_random_number == 5))
- {
- cout << " MISS" << "\t" << "\t" << "\t" << "Asks blow" << endl;
- Sleep(1500);
- }
- }
- else if(spec(obj -> _specialization) == "Archer")
- {
- if((miss_random_number == 1) || (miss_random_number == 2) || (miss_random_number == 4) || (miss_random_number == 6) || (miss_random_number == 7) || (miss_random_number == 9) || (miss_random_number == 10))
- {
- cout << " -" << strength - plus_minus_random_number << "\t" << "\t" << "\t" << "Asks blow";
- if((strength - plus_minus_random_number) > ((strength*percent)/70))
- {
- cout << " CRITICAL";
- }
- obj -> _HP -= strength - plus_minus_random_number;
- Sleep(1500);
- }
- else if((miss_random_number == 3) || (miss_random_number == 5) || (miss_random_number == 8))
- {
- cout << " MISS" << "\t" << "\t" << "\t" << "Asks blow" << endl;
- Sleep(1500);
- }
- }
- }
- if(counter == 2)
- {
- counter = 0;
- }
- counter++;
- if(obj -> _HP <= 0)
- {
- system("cls");
- cout << " " << obj -> _name << "\t" << "\t" << name << endl;
- cout << " " << spec(obj -> _specialization) << "\t" << "\t" << specialization << endl << endl;
- cout << " " << obj -> _HP << "\t" << "\t" << "\t" << HP << endl << endl;
- cout << endl << endl << endl << " LOSE" << "\t" << "\t" << "WINNER" << endl << endl;
- cout << endl << endl << "You get experience: " << 0;
- if(obj -> _HP < 0)
- {
- obj -> _HP = 0;
- }
- getchar();getchar();
- break;
- }
- else if(HP <= 0)
- {
- system("cls");
- cout << " " << obj -> _name << "\t" << "\t" << name << endl;
- cout << " " << spec(obj -> _specialization) << "\t" << "\t" << specialization << endl << endl;
- cout << " " << obj -> _HP << "\t" << "\t" << "\t" << HP << endl << endl;
- cout << endl << endl << endl << " WINNER" << "\t" << "\t" << "LOSE" << endl << endl;
- cout << endl << endl << "You get experience: " << 30 << endl;
- cout << "You get coins: " << 50;
- obj -> _experience += 30;
- obj -> _coins += 50;
- hero.lvl_up(obj);
- getchar();getchar();
- break;
- }
- system("cls");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement