add sample for random algorithm
This commit is contained in:
parent
d0cbd5a88b
commit
5e078be179
@ -1,75 +1,40 @@
|
|||||||
using System.Reflection.Emit;
|
|
||||||
using System.Runtime.InteropServices.ComTypes;
|
decimal [] test = [0.25M, 0.5M, 0.125M , 0.125M];
|
||||||
using System.Text;
|
//(start)-(end)
|
||||||
using System.Threading.Channels;
|
//(0,5) - (0,5+ 0,25)
|
||||||
using LootBoxSimulator.Models.DAO;
|
//(0,5 + 0,25) - (0,5 + 0,25 + 0,125)
|
||||||
|
//(0,5 + 0,25 + 0,125) - (0,5 + 0,25 + 0,125 + 0,1)
|
||||||
|
//0.5 0
|
||||||
|
//0.25 1
|
||||||
|
|
||||||
RemoteDatabaseContext db = new RemoteDatabaseContext();
|
//0-1
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
//0.5 0.25 0.125 0.125
|
||||||
stringBuilder.Append("1. Print category");
|
//0 - 0.5 //unrare
|
||||||
stringBuilder.AppendLine();
|
//0.5 - 0.75 //rare
|
||||||
stringBuilder.Append("2. Print rate");
|
//0.75 - 0.875 //epic
|
||||||
stringBuilder.AppendLine();
|
//0.875 - 1 //legend
|
||||||
stringBuilder.Append("3. Print items");
|
test = test.OrderByDescending(it => it).ToArray();
|
||||||
stringBuilder.AppendLine();
|
foreach (var @decimal in test)
|
||||||
stringBuilder.Append("4. Edit category");
|
|
||||||
Console.WriteLine(stringBuilder.ToString());
|
|
||||||
if (!int.TryParse(Console.ReadLine(), out int menuPosition))
|
|
||||||
{
|
{
|
||||||
Console.WriteLine("Please enter a valid number");
|
Console.WriteLine(@decimal);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (menuPosition)
|
Random random = new Random();
|
||||||
|
decimal number = Convert.ToDecimal(Math.Round(random.NextDouble(),2));
|
||||||
|
Console.WriteLine($"Random number: {number}");
|
||||||
|
decimal startRange = 0;
|
||||||
|
decimal endRange = test[0];
|
||||||
|
if(number >= startRange && number <= endRange) Console.WriteLine(true);
|
||||||
|
for (int i = 1; i < test.Length; i++)
|
||||||
{
|
{
|
||||||
case 1:
|
startRange = endRange;
|
||||||
foreach (var categoryDao in db.Categories)
|
endRange = startRange + test[i];
|
||||||
|
if (number >= startRange && number <= endRange)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Id: {categoryDao.Id} Name: {categoryDao.Name}");
|
Console.WriteLine($"{startRange} - {endRange} {true}");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case 2: break;
|
|
||||||
|
|
||||||
case 3: ChangeCategory(); break;
|
|
||||||
default:
|
|
||||||
Console.WriteLine("Unkown Menu Position");
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChangeCategory()
|
|
||||||
{
|
|
||||||
if(!int.TryParse(Console.ReadLine(), out int CategoryID)) return;
|
|
||||||
String CategoryName = Console.ReadLine();
|
|
||||||
if(String.IsNullOrEmpty(CategoryName)) return;
|
|
||||||
var categoryDao = db.Categories.Find(CategoryID);
|
|
||||||
categoryDao.Name = CategoryName;
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
|
|
||||||
void RemoveCategory()
|
|
||||||
{
|
|
||||||
Console.WriteLine("Please enter a Category ID to remove");
|
|
||||||
if(!int.TryParse(Console.ReadLine(), out int CategoryID)) return;
|
|
||||||
var categoryDao = db.Categories.Find(CategoryID);
|
|
||||||
db.Categories.Remove(categoryDao);
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
|
|
||||||
void AddCategory()
|
|
||||||
{
|
|
||||||
Console.WriteLine("Please enter a Category Name for new category");
|
|
||||||
String CategoryName = Console.ReadLine();
|
|
||||||
if(String.IsNullOrEmpty(CategoryName)) return;
|
|
||||||
CategoryDao categoryDao = new CategoryDao();
|
|
||||||
categoryDao.Name = CategoryName;
|
|
||||||
db.Categories.Add(categoryDao);
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
//задача на попадание в диапазон
|
|
||||||
//собрать все диапазоны из таблицы rate в формате(предаврительно значения нужно отсортировать по убыванию):
|
|
||||||
//start_range, end_range и циклом проверять попадание в диапазон, интерфейс функции:
|
|
||||||
//добавить проверку на ввод значения, значение может находиться в диапазон от 0 до суммы вероятностей таблицы Rate
|
|
||||||
void NumberInRange(decimal min)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user