Exemplo n.º 1
0
// loop continually until the user gives a valid guess
FText GetValidGuess() { 
	FText Guess = "";
	EGuessStatus Status = EGuessStatus::Invalid_Status;
	do {
		// get a guess from the player
		int32 TryNumber = BCGame.GetCurrentTry();
		std::cout << "Try " << TryNumber << " of " << BCGame.GetMaxTries();
		std::cout << ". Enter your guess: ";
		std::getline(std::cin, Guess);

		Status = BCGame.CheckGuessValidity(Guess);

		switch (Status){
		case EGuessStatus::Wrong_Length:
			std::cout << "Please enter a " << BCGame.GetHiddenWordLength() << " letter word. \n\n";
			break;
		case EGuessStatus::Not_Isogram:
			std::cout << "Please enter a word without repeating letters.\n\n";
			break;
		case EGuessStatus::Not_Lowercase:
			std::cout << "Please enter all lowercase letters.\n\n";
			break;
		default:
			break;
		}
		std::cout << std::endl;
	} while (Status != EGuessStatus::OK); // keep looking until we get no errors
	return Guess;



}
Exemplo n.º 2
0
//get a guess from the user
FText GetValidGuess()
{
	EGuessStatus Status = EGuessStatus::Invalid;
	FText Guess = "";
	do
	{
		int32 CurrentTry = BCGame.GetCurrentTry();
		std::cout << "Try " << CurrentTry << " of " << BCGame.GetMaxTries() << ". Enter your guess: ";
		std::getline(std::cin, Guess);

		Status = BCGame.CheckGuessValidity(Guess);
		switch (Status)
		{
		case EGuessStatus::Wrong_Length:
			std::cout << "Please enter a " << BCGame.GetHiddenWordLength() << " letter word.\n";
			break;
		case EGuessStatus::Not_Isogram:
			std::cout << "Please enter a word without repeating letters.\n";
			break;
		case EGuessStatus::Not_Lowercase:
			std::cout << "Please enter the word using all lowercase letters.\n";
			break;
		default:
			break; // Assume guess is valid
		}
		std::cout << std::endl;
	} while (Status != EGuessStatus::OK); // keep looping until we get no errors
	return Guess;
}
Exemplo n.º 3
0
std::string GetGuess()
{
    FText Guess = "";
    EGuessStatus Status = EGuessStatus::Invalid;
    do
    {
        int CurrentTry = BCGame.GetCurrentTry();
        //get a guess from player
        std::cout << "Try " << CurrentTry << " of " << BCGame.GetMaxTries();
        std::cout << ". Enter your guess: ";
        std::getline (std::cin, Guess);
    
        Status = BCGame.CheckGuessValidity(Guess);
    
        switch (Status)
        {
            case EGuessStatus::Wrong_Length:
                std::cout << "Please enter a " << BCGame.GetHiddenWordLength() << " letter word.\n\n";
                break;
            case EGuessStatus::Not_Lowercase:
                std::cout << "Please enter a lowercase word.\n\n";
                break;
            case EGuessStatus::Not_Isogram:
                std::cout <<"Please enter a word without repeating letters.\n\n";
                break;
            default:
                break;
        }
    
    } while (Status != EGuessStatus::OK); //keep looping until we get valid input
    return Guess;
}
Exemplo n.º 4
0
//get the guess and print it back to you
FText GetValidGuess() 
{
	FText Guess;
	EGuessStatus Status = EGuessStatus::Invalid_Status;
	do {


		int32 CurrentTry = BCGame.GetCurrentTry();
		std::cout << "Try " << CurrentTry++ << " of "<< BCGame.GetMaxTries()<<". Take a swag: ";
		std::getline(std::cin, Guess);
		

		Status = BCGame.CheckGuessValidity(Guess);
		switch (Status) {
		case EGuessStatus::Wrong_Length:
			std::cout << "Please enter a " << BCGame.GetHiddenWordLength() << " letter word.\n\n";
			break;
		case EGuessStatus::Not_Isogram:
			std::cout << "Make sure you have entered a word without repeating letters.\n\n";
			break;
		case EGuessStatus::Not_Lowercase:
			std::cout << "Please enter an all-lowercase word.\n\n";
			break;
		default:
			//assume the guess is valid
			break;
		}
	
	} while (Status != EGuessStatus::OK); //keep looping until we get no errors
	return Guess;
}
Exemplo n.º 5
0
// Get a guess from the player
FText GetValidGuess()
{
    EGuessStatus Status = EGuessStatus::Invalid;
    do
    {
        int32 CurrentTry = BCGame.GetCurrentTry();
        std::cout << "Try "<< CurrentTry << ": Enter your guess here: ";
        FText GetGuessVal="";
        std::getline(std::cin, GetGuessVal);
        //CurrentTry++;
        
        Status = BCGame.CheckGuessValidity(GetGuessVal);
        switch (Status)
        {
            case EGuessStatus::Wrong_Length:
                std::cout << "please enter a " << BCGame.GetHiddenWordLength() << " letter word.\n";
                break;
            case EGuessStatus::Not_Isogram:
                std::cout << "please enter a word without repeating letters.\n";
                break;
            case EGuessStatus::Not_Lowercase:
                std::cout << "please enter a word in lower case.\n";
                break;
            default:
                return GetGuessVal;
        }

    } while (Status != EGuessStatus::OK); //Keep looping until we get a valid entry
    return 0;
}
Exemplo n.º 6
0
void PlayGame(){
    BCGame.Reset();
    
    PrintIntro();
    
    // Loop for the number of turns asking for guesses
    for (int32 count = 1; count <= BCGame.GetMaxTries(); count++) {
        FText guess = GetGuess();
        
        EWordStatus status = BCGame.CheckGuessValidity(guess);
        
        switch (status) {
            case EWordStatus::OK: {
                FBullCowCount bullCowCount = BCGame.SubmitGuess(guess);
                // print the number of bulls and cows
                std::cout << "Bulls " << bullCowCount.Bulls;
                std::cout << " Cows " << bullCowCount.Cows;
                std::cout << std::endl;

                break;
            }
            case EWordStatus::Wrong_Length: {
                std::cout << "Wrong length! Try again.\n";
                break;
            }
            case EWordStatus::Not_Lowercase : {
                std::cout << "Not Lowercase! Try again.\n";
                break;
            }
            default: {
                std::cout << "Not Valid! Try again.\n";
                break;
            }
        }
        if (status == EWordStatus::OK) {
        }
    }
    return;
}