@using System.Security.Cryptography

404 - o((âŠ™īšâŠ™))o


I really looked hard but I couldn't find the page you are looking for.

Go back to safety


Play a Number Guessing Game

Since you are here, why not play a number guessing game?

@if (!isGameStarted) {

Select a difficulty level to start:

} else {

I'm thinking of a number between 1 and @maxNumber. Can you guess it?

You have @remainingGuesses guesses left.

Total guesses: @guessCount

@if (!string.IsNullOrEmpty(message)) { @if (gameDone) { } } }
@code { private int targetNumber; private int userGuess; private int guessCount; private int maxNumber; private int maxGuesses; private int remainingGuesses; private string message = string.Empty; private string alertClass = ""; private bool gameDone = false; private bool isGameStarted = false; private enum DifficultyLevel { Easy, Medium, Hard } private void StartGame(DifficultyLevel difficulty) { isGameStarted = true; gameDone = false; guessCount = 0; message = string.Empty; userGuess = 0; switch (difficulty) { case DifficultyLevel.Easy: maxNumber = 10; maxGuesses = 3; break; case DifficultyLevel.Medium: maxNumber = 100; maxGuesses = 7; break; case DifficultyLevel.Hard: maxNumber = 1000; maxGuesses = 10; break; default: throw new ArgumentOutOfRangeException(nameof(difficulty), difficulty, null); } remainingGuesses = maxGuesses; targetNumber = RandomNumberGenerator.GetInt32(1, maxNumber + 1); } private void CheckGuess() { if (gameDone || !isGameStarted) return; if (userGuess < 1 || userGuess > maxNumber) { message = $"Please enter a number between 1 and {maxNumber}."; alertClass = "alert-warning"; return; } guessCount++; remainingGuesses--; int difference = Math.Abs(userGuess - targetNumber); double proximity = (double)difference / maxNumber; if (userGuess == targetNumber) { gameDone = true; message = "🎉 Congratulations! You guessed the number!"; alertClass = "alert-success"; } else if (remainingGuesses == 0) { gameDone = true; message = $"😞 Game over! You've run out of guesses. The number was {targetNumber}."; alertClass = "alert-danger"; } else { switch (proximity) { case < 0.05: message = "đŸ”Ĩ Scalding Hot!"; alertClass = "alert-danger"; break; case < 0.1: message = "đŸŒĄī¸ Very Hot!"; alertClass = "alert-warning"; break; case < 0.2: message = "🌞 Warm."; alertClass = "alert-info"; break; case < 0.3: message = "đŸŒ¤ī¸ Cool."; alertClass = "alert-secondary"; break; default: message = "â„ī¸ Cold!"; alertClass = "alert-secondary"; break; } } } private void ResetGame() { isGameStarted = false; gameDone = false; message = string.Empty; alertClass = ""; userGuess = 0; guessCount = 0; remainingGuesses = 0; } private void HandleKeyPress(KeyboardEventArgs e) { if (e.Key == "Enter" && !gameDone && isGameStarted) { CheckGuess(); } } }