1) В начале игры пользователю предоставляется возможность выбрать тип игрока (1, 2, 3)
2) Каждый тип игрока начинается с следующих атрибутов -
3) Игрок 1 - максимальное здоровье = 50, урон = 10, лечение = 20
4) Игрок 2 - максимальное здоровье = 75, урон = 25, лечение = 10
5 ) Игрок 3 - максимальное здоровье = 100, урон = 75, лечение = 20
6) Игрок может быть исцелен только до максимального здоровья ( игнорировать это, поскольку я еще не закодировал его )
7) После появления игрока игра позволяет игроку получить урон или получить исцеление, как показано ниже
8) «Нажмите D (чтобы получить урон) или H (чтобы излечить) игрок "
9) нажатие D или H может повторяться бесконечное количество раз, пока здоровье игрока не упадет ниже 0
10) Когда здоровье игрока будет равно 0 или меньше 0, игра окончена!
11) Теперь пользователю предоставляется следующий выбор:
12) Нажмите S, чтобы снова начать игру
13) Нажмите E, чтобы завершить программу
14) Если пользователь нажимает «S», вся игра начинается снова, и теперь пользователь может создать нового игрока любого типа (1, 2, 3)
15) Если пользователь нажимает » E ", вся программа заканчивается!
ПРОБЛЕМА:
] 1 Когда условие для выхода при l oop выполнено, оно выходит из того времени, пока l oop, но включено нажатие любого другого числа, чтобы вызвать игрока, «урон» и «исцеление» не работают. Вывод пустой
#include <iostream>
using namespace std;
int input;
char input1;
bool gameOver;
class player
{
public:void p(int Health,int Damage,int Heal)
{
do
{
cout << "Player Health is" << Health;
cin >> input1;
switch(input1)
{
case 'd':
Health -= Damage;
break;
case 'h':
Health += Heal;
break;
}
if(Health == 0 || input1 == 's')
{
gameOver = true;
}
} while (gameOver == false);
}
}p1;
int main()
{
do{
//system("cls");
cin >> input;
if(input == 1)
{
p1.p(50,10,20);
}
if(input == 2)
{
player p2;
p2.p(75,25,10);
}
if(input == 3)
{
player p2;
p2.p(100,75,20);
}
} while (input != 5);
return 0;
}