public static double GetValueOfPlayer(FifaPlayer fp, string attributeName) { return(attributeName switch { "Age" => fp.GetAge(), "Height" => fp.GetHeight(), "Curve" => fp.GetCurve(), "Dribbling" => fp.GetDribbling(), "Sprint" => fp.GetSprintSpeed(), "Finishing" => fp.GetFinishing(), "Overall" => fp.GetOverall(), "LongPassing" => fp.GetPassing(), "Weight" => fp.GetWeight(), "ShotPower" => fp.GetShotPower(), _ => 0 });
private async void BotOnMessageReceived(object sender, MessageEventArgs messageEventArgs) { var message = messageEventArgs.Message; var chatId = messageEventArgs.Message.Chat.Id; if (message == null || message.Type != MessageType.Text) { return; } else { Debug.WriteLine("message = ", message.Text); switch (message.Text.Split(' ').First()) { case "/rating": var dtable = GetDataTable(); var fifaPlayers = new List <FifaPlayer>(); var result = ""; for (int i = 0; i < dtable.Rows.Count; i++) { var name = dtable.Rows[i].ItemArray[1]; var elo = dtable.Rows[i].ItemArray[2]; var fifaPlayer = new FifaPlayer { Name = Convert.ToString(name), Elo = Convert.ToInt32(elo), }; fifaPlayers.Add(fifaPlayer); } var count = 1; fifaPlayers = fifaPlayers.OrderByDescending(v => v.Elo).ToList(); foreach (var fifaPlayer in fifaPlayers) { result = result + $"{count} {fifaPlayer.Name} {fifaPlayer.Elo} \n"; count++; } await Bot.SendTextMessageAsync(message.Chat.Id, $"РАНК ИМЯ РЕЙТИНГ \n" + result); break; } } }
// counts value from all Linguistic variables with connector ( f.e. miS(di)) private static double CountMembershipValue(List <LinguisticVariable> list, FifaPlayer fifaPlayer) { if (list.Count == 1) { return(list[0].CountMembership(fifaPlayer)); } double min = 2; foreach (var summarizer in list) { var t = summarizer.CountMembership(fifaPlayer); if (t < min) { min = t; } } return(min); }
public double CountMembership(FifaPlayer fp) { return(MembershipFunction.CountValue(ValueGetter.GetValueOfPlayer(fp, AttributeName))); }
private async void BotOnMessageReceived(object sender, MessageEventArgs messageEventArgs) { var message = messageEventArgs.Message; var chatId = messageEventArgs.Message.Chat.Id; if (message == null || message.Type != MessageType.Text) { return; } else { Debug.WriteLine("message = ", message.Text); Debug.WriteLine(message.Chat.Id); /*using (StreamWriter outputFile = new StreamWriter("match.txt", true)) * { * * outputFile.WriteLine("\n" + message.Chat.Id+" "+message.Text+" "+DateTime.Now); * * * }*/ switch (message.Text.Split(' ').First()) { case "/rating": var dtable = GetDataTable(); var fifaPlayers = new List <FifaPlayer>(); var result = ""; for (int i = 0; i < dtable.Rows.Count; i++) { var name = dtable.Rows[i].ItemArray[1]; var elo = dtable.Rows[i].ItemArray[2]; var fifaPlayer = new FifaPlayer { Name = Convert.ToString(name), Elo = Convert.ToInt32(elo), }; fifaPlayers.Add(fifaPlayer); } var count = 1; fifaPlayers = fifaPlayers.OrderByDescending(v => v.Elo).ToList(); foreach (var fifaPlayer in fifaPlayers) { result = result + $"{count} {fifaPlayer.Name} {fifaPlayer.Elo} \n"; count++; } await Bot.SendTextMessageAsync(message.Chat.Id, $"РАНК ИМЯ РЕЙТИНГ \n" + result); break; case "/hi": await Bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing); /* await Task.Delay(500); // simulate longer running task * * var inlineKeyboard = new InlineKeyboardMarkup(new[] * { * new [] // first row * { * InlineKeyboardButton.WithCallbackData("1.1"), * InlineKeyboardButton.WithCallbackData("1.2"), * }, * new [] // second row * { * InlineKeyboardButton.WithCallbackData("2.1"), * InlineKeyboardButton.WithCallbackData("2.2"), * } * });*/ Random rnd = new Random(); int[] a = new int[3] { 1, 2, 3 }, b = new int[3] { 4, 5, 6 }, c = new int[3] { 7, 9, 10 }, d = new int[2] { 12, 13 }; int k = 0; string grA = "", grB = "", grC = ""; for (int i = a.Length - 1; i > 1; i--) { int o; k = rnd.Next(0, i); o = b[k]; b[k] = b[i]; b[i] = o; } for (int i = b.Length - 1; i > 1; i--) { int o; k = rnd.Next(0, i); o = a[k]; a[k] = a[i]; a[i] = o; } for (int i = c.Length - 1; i > 1; i--) { int o; k = rnd.Next(0, i); o = c[k]; c[k] = c[i]; c[i] = o; } for (int i = d.Length - 1; i > 1; i--) { int o; k = rnd.Next(0, i); o = d[k]; d[k] = d[i]; d[i] = o; } grA = a[0].ToString() + " " + b[0].ToString() + " " + c[0].ToString() + " " + d[0].ToString(); grB = a[1].ToString() + " " + b[1].ToString() + " " + c[1].ToString() + " " + d[1].ToString(); grC = a[2].ToString() + " " + b[2].ToString() + " " + c[2].ToString(); /* await Bot.SendTextMessageAsync( * message.Chat.Id, * "Choose", * replyMarkup: inlineKeyboard);*/ //break; await Bot.SendTextMessageAsync(message.Chat.Id, grA + "\n" + grB + "\n" + grC); Debug.WriteLine(grA); Debug.WriteLine(message.Chat.Id); using (StreamWriter outputFile = new StreamWriter("telegramId.txt", true)) { outputFile.WriteLine("\n" + message.Chat.Id); } //await Bot.SendTextMessageAsync(150712688, "ты пидор"); break; case "/match": if (message.Text.Length != 6) { using (StreamWriter outputFile = new StreamWriter("match.txt", true)) { outputFile.WriteLine("\n" + message.Chat.Id + " " + message.Text + " " + DateTime.Now); } await Bot.SendTextMessageAsync(message.Chat.Id, "Ваш результат записан"); await Bot.SendTextMessageAsync(120086825, "Новый матч"); } else { await Bot.SendTextMessageAsync(message.Chat.Id, "Запишите результат"); } break; case "/register": if (message.Text != "/register") { var str = ""; str = message.Text.Replace("/register ", ""); Debug.WriteLine(message.Chat.Id + "" + str); } break; } } }