// Guess A Number : Design / PsuedoCode FUNCTIONS IsAnInt IN Input (string) OUT Boolean LOGIC Check to see if the string is convertable to an integer Return T or F GetNumericInput IN prompt (string) OUT Integer LOGIC Infinite loop prompt user get answer from user if IsAnInt(answer) return answer as integer else tell user "Your entry was not a number." GetInput IN question(string) OUT string LOGIC Infinite loop Ask question to user get answer from user if the answer is not empty return answer else tell user "Your entry seems empty." AskToPlayAgain IN Nothing OUT Boolean LOGIC Infinite loop GetInput on "Would you like to play again? ("YES" or "NO")" if the answer is "YES" or "Y" return true else if the answer is "NO" or "N" return false else tell user "Please respond with "YES" or "NO" MAIN LOGIC Create and Seed a RNG define the following variables Running(boolean) GotMaxNumber(boolean) GameOver(boolean) MaxNumber(integer) Answer(integer) Tries(integer) print out title like: "*** GUESS A NUMBER : [LANGUAGE] ***" while Running is true while GotMaxNumber is false MaxNumber is GetNumericInput("Please enter the maximum number you wish to use") if MaxNumber > 0 GotMaxNumber is true Answer is RNG between 1 and MaxNumber GameOver is false Tries is 0 tell user "Ok, I am thinking of a number between 1 and [MaxNumber]" else tell user "The maximum number should be greater than zero." Guess(integer) is GetNumericInput("Guess a number between 1 and " + strMaxNumber); Increment Tries by 1 if Guess > Answer tell user "Too high." if Guess < Answer tell user "Too low." if Guess equals Answer GameOver is true tell user "You got it in [Tries] try/tries!" if GameOver is true Running is AskToPlayAgain(); if Running is true GotMaxNumber is false; tell user "Thanks for playing!" tell user "*** GAME OVER ***"