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
//play the game
void PlayGame()
{
	BCGame.Reset();
	int32 MaxTries = BCGame.GetMaxTries();
	
	//loop asking for guess while
	//game is NOT won and their are still tries remainging
	while(!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries)
	{
		FText Guess = GetValidGuess();
		

		//submit a valid guess to game
		FBullCowCount BullCowCount = BCGame.SubmitGuess(Guess);
		std::cout << "Bull = " << BullCowCount.Bulls;
		std::cout << ". Cows = " << BullCowCount.Cows;

		std::cout << std::endl;
	}

	PrintGameSummary();

	

	return;
}
Exemplo n.º 3
0
FText GetGuess()
{
	FText Guess = "";
	std::cout << "Try " << BCGame.GetCurrentTry() << ": Enter your guess: ";
	std::getline(std::cin, Guess);
	return Guess;
}
Exemplo n.º 4
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.º 5
0
// Get a guess from the player
FText GetGuess() {
    FText Guess = "";
    std::cout << BCGame.GetCurrentTry() << ". Make a guess: ";
    //BCGame.IncTry();
    getline(std::cin, Guess);
    return Guess;
}
Exemplo n.º 6
0
// loop continually until user gives a valid guess.
FText GetGuess()
{
	FText InString;
	EGuessStatus Status = EGuessStatus::Invalid_Status;
	int32 CurrentTry = BCGame.GetCurrentTry();
	do
	{
		std::cout << "Try #" << CurrentTry << "/" << BCGame.GetMaxTries() << " Enter your guess: ";
		
		getline(std::cin, InString);

		Status = BCGame.GuessValid(InString);
		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 ensure that your input is all lowercase letters.\n\n";
			break;
		default:
			return InString;
		}
	} while (Status != EGuessStatus::OK);
	return InString;
}
Exemplo n.º 7
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.º 8
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.º 9
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.º 10
0
void PlayGame(){
    int32 MaxTries = BCGame.GetMaxTries();
    std::cout << MaxTries << std::endl;
    //BCGame() = FBullCowGame();
    // loop for the number of turns asking for entries
    //constexpr int NUMBER_OF_TURNS = 5;
    
    //TODO: Change from For to a While loop once we are validating tries

    while (BCGame.IsGameWon()==false && BCGame.GetCurrentTry() <= MaxTries) {
        //std::cout<< "Status of Game is : " <<BCGame.IsGameWon() << "\n\n";
        //for (int32 count = 1; count <= MaxTries; count++) {
            FText Guess = GetValidGuess();
            
            //TODO: Make check for valid guesses.
            // Submit valid guess to the game
            FBullCowCount BullCowCount = BCGame.SubmitGuess(Guess);
            // Print number of bulls and cows
            std::cout << "Bulls = " << BullCowCount.Bulls << " \n";
            std::cout << "Cows = " << BullCowCount.Cows  << " \n";
            std::cout << "You entered >> " << Guess << " <<, thank you, let me check.\n";
            std::cout << std::endl;
            //std::cout<< "Status of Game is : inside FOR Loop " <<BCGame.IsGameWon() << "\n\n";
    }
    PrintGameSummary();
    return; //TODO: HELLO
}
Exemplo n.º 11
0
void PlayGame()
{
	int32 MaxTries = BCGame.GetMaxTries();
	// Get a guess from the player and repeat it back to them.
	while(!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries)
	{
		FText Input = GetGuess();
		FBullCowCount BullCowCount = BCGame.SubmitValidGuess(Input);
		std::cout << "Number of Bulls: " << BullCowCount.Bulls << std::endl;
		std::cout << "Number of Cows: " << BullCowCount.Cows << std::endl << std::endl;
	}
	PrintGameSummary(BCGame.IsGameWon());
	return;
}
Exemplo n.º 12
0
// Plays a single game to completion
void PlayGame()
{
	BCGame.Reset();
	int32 MaxTries = BCGame.GetMaxTries();
	//Loop asking for guesses while the game is NOT won and there are still turns
	while (!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries) 
	{
		FText Guess = GetValidGuess(); 
		FBullCowCount BullCowCount = BCGame.SubmitValidGuess(Guess);
		std::cout << "Bulls = " << BullCowCount.Bulls;
		std::cout << ", Cows = " << BullCowCount.Cows << "\n\n";
	}
	PrintGameSummary();
}
Exemplo n.º 13
0
// plays a single game to completion
void PlayGame()
{
	BCGame.Reset();
	int32 MaxTries = BCGame.GetMaxTries();

	// loop asking for guesses while the game
	// is NOT won and there are still tries remaining
	while(!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries)
	{
		FText Guess = GetValidGuess();

		// submit valid guess to the game, and receive counts
		FBullCowCount BullCowCount = BCGame.SubmitValidGuess(Guess);
		PrintGuess(BullCowCount);
	}

	return;
}
Exemplo n.º 14
0
// plays a single game to completion
void PlayGame()
{
	BCGame.Reset();
	int32 MaxTries = BCGame.GetMaxTries();


	while (!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries) {
		FText Guess = GetValidGuess();

		// submit valid guess to the game, and receive counts
		FBullCowCount BullCowCount = BCGame.SubmitValidGuess(Guess);

		std::cout << "Bulls = " << BullCowCount.Bulls;
		std::cout << ". Cows = " << BullCowCount.Cows << "\n\n";
	}

	PrintGameSummary();
	return;
}
Exemplo n.º 15
0
// plays a single game to completion
void PlayGame()
{
	BCGame.Reset();
	int32 MaxTries = BCGame.GetMaxTries();

	// loop asking for guesses while the game
	// is NOT won and there are still tries remaining
	while (!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries) {
		FText Guess = GetValidGuess();

		// submit valid guess to the game, and receive counts
		FBullCowCount BullCowCount = BCGame.SubmitValidGuess(Guess);

		std::cout << "Bulls = " << BullCowCount.Bulls;
		std::cout << ". Cows = " << BullCowCount.Cows << "\n\n";
	}

	PrintGameSummary();
	return;
}
Exemplo n.º 16
0
void PlayGame()
{
    BCGame.Reset();
    int MaxTries = BCGame.GetMaxTries();
    
    //loop asking for guesses while the game is NOT won
    while (!BCGame.IsGameWon() && BCGame.GetCurrentTry() <= MaxTries)
    {
        FText Guess = GetGuess();        //submit valid guess to game
        FBullCowCount BullCowCount = BCGame.SubmitValidGuess(Guess);
        
        //print number of bulls and cows
        std::cout << "Bulls = " << BullCowCount.Bulls;
        std::cout << " Cows = " << BullCowCount.Cows << "\n\n";
        
        std::cout << "Your guess was: " << Guess << std::endl;
        std::cout << std::endl;
    }
    PrintGameSummary();
    return;
}
Exemplo n.º 17
0
//get Valid guess from user
FText GetValidGuess() 
{	
	FText Guess = "";
	EGuessStatus Status = EGuessStatus::Invalid_Status;

	do {
	//get a guess from player
	int32 CurrentTry = BCGame.GetCurrentTry();
	std::cout << "Try " << CurrentTry <<" of " <<BCGame.GetMaxTries() << ".Enter your Guess:";
	std::getline(std::cin, Guess);

	//checking if the guess is valid
	Status = BCGame.IsGuessValid(Guess);
	
	

		switch (Status)
		{
		case EGuessStatus::Not_Isogram:
			std::cout << "Please Enter a word without repeating letters !" << std::endl;
			break;
		case EGuessStatus::Lower_Case:
			std::cout << "Please Enter all lower case letters !" << std::endl;
			break;
		case EGuessStatus::Wrong_Lenght:
			std::cout << "Please Enter a " << BCGame.GetHiddenWordLength() << " letter Word !" << std::endl;
			break;
		default:
			//Assume that the status is OK
			break;
		}
		std::cout << std::endl;

	} while (Status != EGuessStatus::OK); //keep looping until we get no errors or we get Status == OK
	return Guess;

}