ControlC
· Pastebin
Login
Register
ControlC
/
Create paste
Paste content
Up to 100 KB of text. BBCode formatting is supported.
Title
- optional
Content
B
I
U
S
</>
Colors ↓
Sizes ↓
Size 1
Size 2
Size 3
Size 4
Size 5
Size 6
Size 7
[tpcode]\r\n// Runnable code Demo:\r\n\r\npublic class NumberGuessingGameDemo {\r\n \r\n public static void main(String[] args) {\r\n java.util.Scanner myKB = new java.util.Scanner(System.in);\r\n System.out.println(\" THE NUMBER GUESSING GAME\");\r\n System.out.println(\" ========================\n\");\r\n\r\n int gamesPlayed = 0;\r\n boolean quit = false;\r\n while (!quit) {\r\n int allowableGuesses;\r\n boolean allowHighLowHints;\r\n gamesPlayed++;\r\n System.out.println(\"NEW GAME....#\" + gamesPlayed + \"\n\");\r\n String guessesAllowable = \"\";\r\n while (guessesAllowable.isEmpty()) {\r\n System.out.println(\"A mystery number from 1 to 100 will be automatically\");\r\n System.out.println(\"generated. How many guesses do you think it will take\");\r\n System.out.print(\"you to guess this mystery number (q to quit)? --> \");\r\n guessesAllowable = myKB.nextLine().trim();\r\n if (!guessesAllowable.matches(\"\\d+|(?i)[q]\")) {\r\n System.out.println(\"Invalid Entry (\" + guessesAllowable + \")! Try again...\n\");\r\n guessesAllowable = \"\";\r\n }\r\n }\r\n if (guessesAllowable.equalsIgnoreCase(\"q\")) {\r\n System.out.println(\"\nGAME OVER - QUITING!\");\r\n break;\r\n } else {\r\n allowableGuesses = Integer.parseInt(guessesAllowable);\r\n }\r\n System.out.println();\r\n\r\n // Does the User want Hints?\r\n String allowHintsYN = \"\";\r\n while (allowHintsYN.isEmpty()) {\r\n System.out.print(\"Want to enable Low/High hints (y/n)? -> \");\r\n allowHintsYN = myKB.nextLine().trim();\r\n if (!allowHintsYN.matches(\"(?i)[ynq]\")) {\r\n System.out.println(\"Invalid Entry (\" + allowHintsYN + \")! Try again...\n\");\r\n allowHintsYN = \"\";\r\n }\r\n }\r\n if (allowHintsYN.equalsIgnoreCase(\"q\")) {\r\n System.out.println(\"\nGAME OVER - QUITING!\");\r\n break;\r\n } else {\r\n allowHighLowHints = (allowHintsYN.equalsIgnoreCase(\"y\"));\r\n }\r\n \r\n java.util.Random r = new java.util.Random();\r\n int numberToGuess = r.nextInt(100) + 1;\r\n java.util.List<String> alreadyGuessed = new java.util.ArrayList<>();\r\n\r\n // System.out.println(numberToGuess); // For testing...The random number to guess\r\n \r\n System.out.println();\r\n\r\n String guess = \"\";\r\n int guessCounter = 0;\r\n int guessesRemaining;\r\n while (guess.isEmpty()) {\r\n guessesRemaining = allowableGuesses - guessCounter;\r\n if (guessesRemaining == 0) {\r\n System.out.println(\"\n << GAME OVER - YOU LOSE >>\");\r\n System.out.println(\"You have run out of chances to guess the mystery number!\");\r\n System.out.println(\"The number you needed to guess was: \" + numberToGuess + \"\n\");\r\n break;\r\n }\r\n System.out.println(\"Guess a number between 1 and 100 (or q to quit).\");\r\n System.out.print(\"You have \" + guessesRemaining + \" guesses remaining: --> \");\r\n guess = myKB.nextLine().trim();\r\n if (guess.matches(\"(?i)[q]\")) {\r\n System.out.println(\"Quitting this particular game!\n\");\r\n break;\r\n }\r\n guessCounter++;\r\n int guessedNum;\r\n if (guess.matches(\"-?\\d+\")) {\r\n guessedNum = Integer.parseInt(guess);\r\n } else {\r\n System.out.println(\"Oh Oh...'\" + guess + \"' is not a number! That cost you one guess.\n\");\r\n guess = \"\";\r\n continue;\r\n }\r\n if (alreadyGuessed.contains(guess)) {\r\n System.out.println(\"Bad news...You already guessed '\" + guess + \"' previously!\");\r\n System.out.println(\"That cost you one guess. Try again...\n\");\r\n guess = \"\";\r\n continue;\r\n } else {\r\n alreadyGuessed.add(guess);\r\n }\r\n if (guessedNum == numberToGuess) {\r\n System.out.println();\r\n System.out.println(\" << CONGRATULATIONS! YOU'RE A WINNER! >>\");\r\n System.out.println(guessedNum + \" was the mystery number and you managed to guess\");\r\n\r\n System.out.println(\"that number in \" + guessCounter\r\n + (guessCounter == 1 ? \" guess\" : \" guesses\")\r\n + \" which is \" + (guessCounter == allowableGuesses ? \"what\" : \"below\")\r\n + \" the allotted\");\r\n System.out.println(allowableGuesses + \" guesses you said \"\r\n + \"you could do it in.\n\");\r\n break;\r\n } else if (guessedNum < 1 || guessedNum > 100) {\r\n System.out.println(\"Ha Ha Ha...Bad news friend, you have to pick a number between 1 and 100.\");\r\n System.out.println(\"Pay attention! That cost you one guess. Try again...\n\");\r\n guess = \"\";\r\n } else if (guessedNum > numberToGuess) {\r\n System.out.println(\"Hard luck.\" \r\n +(allowHighLowHints ? \" Your guess is a little too high.\" : \" Incorrect!\") \r\n + \" Try again...\n\");\r\n guess = \"\";\r\n } else if (guessedNum < numberToGuess) {\r\n System.out.println(\"Hard luck.\" \r\n +(allowHighLowHints ? \" Your guess is a little too low.\" : \" Incorrect!\") \r\n + \" Try again...\n\");\r\n guess = \"\";\r\n }\r\n }\r\n\r\n String playAgain = \"\";\r\n while (true) {\r\n System.out.println(\"<< Press ENTER to play again >>\");\r\n System.out.println(\"<< or q to quit >>\");\r\n playAgain = myKB.nextLine().trim();\r\n if (playAgain.equalsIgnoreCase(\"q\") || playAgain.isEmpty()) {\r\n break;\r\n }\r\n }\r\n if (playAgain.equalsIgnoreCase(\"q\")) {\r\n quit = true;\r\n }\r\n }\r\n }\r\n}\r\n[/tpcode]
Password
Anyone with the link will still need this password to view.
Expires
1 hour
3 hours
6 hours
12 hours
24 hours
48 hours
72 hours
Sign in to enable "Never expires".
Create paste
Please verify you are human
Cancel