Exemple #1
0
 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
     });
Exemple #2
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;
                }
            }
        }
Exemple #3
0
        // 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);
        }
Exemple #4
0
 public double CountMembership(FifaPlayer fp)
 {
     return(MembershipFunction.CountValue(ValueGetter.GetValueOfPlayer(fp, AttributeName)));
 }
Exemple #5
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);
                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;
                }
            }
        }