diff --git a/qtc-net-server/Controllers/CurrencyGamesController.cs b/qtc-net-server/Controllers/CurrencyGamesController.cs index b61fffc..92c51e9 100644 --- a/qtc-net-server/Controllers/CurrencyGamesController.cs +++ b/qtc-net-server/Controllers/CurrencyGamesController.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Mvc; using qtc_api.Services.CurrencyGamesService; using System.Security.Claims; +using static qtc_api.Services.CurrencyGamesService.CurrencyGamesService; namespace qtc_api.Controllers { @@ -16,6 +17,8 @@ namespace qtc_api.Controllers _currencyGamesService = currencyGamesService; } + // Stock Market + [HttpGet("stock-market/current-price")] public ActionResult> GetCurrentPricePerStock() { @@ -91,5 +94,21 @@ namespace qtc_api.Controllers } else return Ok(new ServiceResponse { Success = false, Message = "No Identity" }); } + + // Number Guess + + [HttpGet("number-guess/get-number")] + [Authorize] + public ActionResult> GetRandomNumber() + { + return Ok(_currencyGamesService.GetRandomNumber()); + } + + [HttpGet("number-guess/guess-number")] + [Authorize] + public ActionResult> GuessNumber(int original, int guess) + { + return Ok(_currencyGamesService.GuessRandomNumber(original, guess)); + } } } diff --git a/qtc-net-server/Services/CurrencyGamesService/CurrencyGamesService.cs b/qtc-net-server/Services/CurrencyGamesService/CurrencyGamesService.cs index 5cf0fb3..520d97a 100644 --- a/qtc-net-server/Services/CurrencyGamesService/CurrencyGamesService.cs +++ b/qtc-net-server/Services/CurrencyGamesService/CurrencyGamesService.cs @@ -86,11 +86,39 @@ namespace qtc_api.Services.CurrencyGamesService } } + // Number Guess + + public ServiceResponse GetRandomNumber() + { + Random rnd = new Random(); + return new ServiceResponse { Success = true, Data = rnd.Next(1, 500) }; + } + + public ServiceResponse GuessRandomNumber(int original, int guess) + { + var response = new ServiceResponse { Success = true }; + + if (original - guess == 10) response.Data = NumberGuessResult.Lower; + else if (guess - original == 10) response.Data = NumberGuessResult.Higher; + else if (guess == original) response.Data = NumberGuessResult.Correct; + else response.Data = NumberGuessResult.Incorrect; + + return response; + } + private void Timer_Elapsed(object? state) { Random rnd = new Random(); CurrentPricePerStock = rnd.Next(5, 200); logger.LogInformation($"Current Price Per Stock - {CurrentPricePerStock}"); } + + public enum NumberGuessResult + { + Higher, + Lower, + Correct, + Incorrect + } } }