Я пытаюсь создать текстовую игру для C ++.
У меня настроен класс игрока, и сейчас я работаю над методом внутри этого класса, называемым displayMenu (), который запрашивает у пользователя различные варианты. вопросов, основанных на их проигрывателе, и отправьте данные в основной / клиентский код, а затем эти данные создадут объект класса проигрывателя через конструктор класса проигрывателя.
Мой главный вопрос ...
- Я пытаюсь сравнить ввод (строку) от пользователя с (строкой), которая ему нужна для ввода, но я получаю ошибка, которая говорит "lower ()", не может быть решена. Я считаю, что вы должны сравнивать каждый символ, но я думаю, что может быть более эффективный способ кодирования этого, чтобы обеспечить простоту и удобочитаемость. Что именно я делаю не так? Как лучше всего это кодировать?
Вот мой код ...
void Player::displayMenu(std::string& PlaName, std::string& cName, int& lvl, int& HP)
{
std::cout << "Player Creation Menu" << std::endl;
std::cout << "====================" << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << "What is your name? " << std::endl;
std::cin >> PlaName;
std::cout << "What is your specitality? " << std::endl;
std::cin >> cName;
while(cName.lower() != "brawler" || cName.lower() != "thief" || cName.lower() != "persuader" || cName.lower()
!= "gunman")
{
std::cout << "That is not your true specitality..." << std::endl;
std::cout << "You must pick from { 'Brawler', 'Thief' , 'Persuader', 'Gunman' }" << std::endl;
std::cin >> cName;
}
}