/// <summary>
        /// Adiciona novas músicas à playlist utilizando a API do YouTube para realizar a busca.
        /// </summary>
        /// <param name="numberOfTracksToGrab"> How many songs to search for. </param>
        /// <returns></returns>
        public static async Task AddSongs(short numberOfTracksToGrab)
        {
            LavalinkGuildConnection guildConnection = LavalinkNode.GetGuildConnection(await Lavalink.Client.GetGuildAsync(configJson.ServerId).ConfigureAwait(false));

            for (int i = 0; i < numberOfTracksToGrab; i++)
            {
                WordsGenerator _wordsGenerator = new WordsGenerator(_randomNumber);
                List <string>  wordList        = _wordsGenerator.GenerateWordList();

                YoutubeSearchEngine         _youtubeSearchEngine = new YoutubeSearchEngine(1);
                Dictionary <string, string> searchResult         = _youtubeSearchEngine.SearchVideos(wordList);

                foreach (var result in searchResult)
                {
                    Uri videoUri = new Uri(result.Value);
                    LavalinkLoadResult loadResult = await LavalinkNode.Rest.GetTracksAsync(videoUri).ConfigureAwait(false);

                    if (loadResult.LoadResultType == LavalinkLoadResultType.LoadFailed || loadResult.LoadResultType == LavalinkLoadResultType.NoMatches)
                    {
                        await guildConnection.Guild.GetChannel(configJson.ComandosBotCanalId).SendMessageAsync($"ERR0! Pesquisa por {searchResult} falhou! Tipo do resultado: {result.Key}").ConfigureAwait(false);
                    }
                    else
                    {
                        Playlist.Add(loadResult.Tracks.First());
                        await guildConnection.Guild.GetChannel(configJson.ComandosBotCanalId).SendMessageAsync($"A música: {loadResult.Tracks.First().Title} foi adicionada à playlist de músicas para tocar!").ConfigureAwait(false);
                    }
                }
            }
        }
Пример #2
0
        public List <string> WordsGenerated(string category, string lvl)
        {
            _words = new List <string>();
            UInt16 a = 0;

            if (lvl == "Easy")
            {
                a = 0;
            }
            else if (lvl == "Medium")
            {
                a = 1;
            }
            else if (lvl == "Hard")
            {
                a = 2;
            }
            WordsGenerator aux = new WordsGenerator();

            Category = category;
            if (_category == "Movies")
            {
                _words.AddRange(WordsGenerator.Instance.MoviesWords());
            }
            else if (_category == "Cars")
            {
                _words.AddRange(WordsGenerator.Instance.CarsWords());
            }
            else if (_category == "Animals")
            {
                _words.AddRange(WordsGenerator.Instance.AnimalsWords());
            }
            else if (_category == "Astronomy")
            {
                _words.AddRange(WordsGenerator.Instance.AstronomyWords());
            }
            else if (_category == "Music")
            {
                _words.AddRange(WordsGenerator.Instance.MusicWords());
            }
            else if (_category == "All-categories")
            {
                _words.AddRange(WordsGenerator.Instance.AllWords());
            }

            Random rng = new Random();
            int    n   = _words.Count;

            while (n > 1)
            {
                n--;
                int    k     = rng.Next(n + 1);
                string value = _words[k];
                _words[k] = _words[n];
                _words[n] = value;
            }

            return(_words);
        }
        public void Test1()
        {
            var generator     = new WordsGenerator(new char[0]);
            var actualWords   = generator.GetWords(1);
            var expectedWords = Enumerable.Empty <string>();

            Assert.That(actualWords, Is.EquivalentTo(expectedWords));
        }
        public void Test7()
        {
            var generator     = new WordsGenerator(new[] { 'a', 'b', 'c' });
            var actualWords   = generator.GetWords(2);
            var expectedWords = new[] { "aa", "bb", "cc", "ab", "ac", "ba", "bc", "ca", "cb" };

            Assert.That(actualWords, Is.EquivalentTo(expectedWords));
        }
        public void Test6()
        {
            var generator     = new WordsGenerator(new[] { 'a', 'b' });
            var actualWords   = generator.GetWords(3);
            var expectedWords = new[] { "aaa", "bbb", "aab", "baa", "aba", "bba", "abb", "bab" };

            Assert.That(actualWords, Is.EquivalentTo(expectedWords));
        }
        public void Test3()
        {
            var generator     = new WordsGenerator(new[] { 'a' });
            var actualWords   = generator.GetWords(3);
            var expectedWords = new[] { "aaa" };

            Assert.That(actualWords, Is.EquivalentTo(expectedWords));
        }
Пример #7
0
        static void Main(string[] args)
        {
            string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Utilities/WordsDataSet.txt");

            string[] words = File.ReadAllLines(path);

            TrieNode root        = new TrieNode();
            int      wordsLength = words.Length;

            for (int i = 0; i < wordsLength; i++)
            {
                root.InsertIntoTrie(root, words[i]);
            }

            Console.WriteLine("Subword generator is now up! Input your letters");
            var inputString = Console.ReadLine();

            var isValid = false;

            while (!isValid)
            {
                if (!Regex.Match(inputString, @"^[a-zA-Z]+$").Success)
                {
                    Console.WriteLine("Input is not valid. Please enter only alphabets");
                    inputString = Console.ReadLine();
                }
                else
                {
                    isValid = true;
                }
            }

            Console.WriteLine("Enter the minimum number of letters you want in a word");
            int minLength;
            var isminValid = int.TryParse(Console.ReadLine(), out minLength);

            isValid = false;
            while (!isValid)
            {
                if (!isminValid)
                {
                    Console.WriteLine("Input is not valid. Please enter only numbers");
                    int.TryParse(Console.ReadLine(), out minLength);
                }
                else
                {
                    isValid = true;
                }
            }

            Console.WriteLine("Enter a mandatory letter. Press 0 to skip");
            var mandatoryInput = Console.ReadLine();

            int            inputLength    = inputString.Length;
            WordsGenerator wordsGenerator = new WordsGenerator();

            wordsGenerator.FindAllWords(inputString.ToLowerInvariant(), root, inputLength, minLength, mandatoryInput.ToLowerInvariant());
        }
Пример #8
0
    public Client GenClient(int difficulty)
    {
        Debug.Log(difficulty);

        string reqType = Settings.CLIENT_TYPES[Random.Range(0, Settings.CLIENT_TYPES.Length)];
        string reqName = ToTitleCase(WordsGenerator.GetInterestingWord(1)) + Settings.CLIENT_NAME_SUFFIXES[(int)(Random.value * Settings.CLIENT_NAME_SUFFIXES.Length)];

        int[] reqPorts   = null;
        int   reqStorage = 0;
        float reqRam     = 0;
        float reqPPower  = 2.13f;

        if (difficulty == EASY)
        {
            reqPPower  = Random.Range((float)0.3, (float)1.2);
            reqPorts   = RandomPorts(1);
            reqRam     = Random.Range((float)0.5, 2);
            reqStorage = Settings.CLIENT_EASY_STORAGE[(int)(Random.value * Settings.CLIENT_EASY_STORAGE.Length)];
        }
        else if (difficulty == MEDIUM)
        {
            reqPPower  = Random.Range((float)1.2, (float)2.5);
            reqPorts   = RandomPorts(Random.Range(2, Settings.CLIENT_PORTS.Length));
            reqRam     = Random.Range((float)2, 8);
            reqStorage = Settings.CLIENT_MEDIUM_STORAGE[(int)(Random.value * Settings.CLIENT_MEDIUM_STORAGE.Length)];
        }
        else if (difficulty == HARD)
        {
            reqPPower  = Random.Range((float)2.5, (float)5.0);
            reqPorts   = RandomPorts(Random.Range(3, Settings.CLIENT_PORTS.Length));
            reqRam     = Random.Range((float)6, 16);
            reqStorage = Settings.CLIENT_HARD_STORAGE[(int)(Random.value * Settings.CLIENT_HARD_STORAGE.Length)];
        }

        Client client = new Client();

        client.difficulty   = difficulty;
        client.satisfaction = 50;
        client.reqType      = reqType;
        client.reqName      = reqName;
        client.reqPPower    = (float)System.Math.Round((double)reqPPower, 1);
        client.reqRam       = (float)System.Math.Round((double)reqRam, 1);
        client.reqPorts     = reqPorts;
        client.reqStorage   = reqStorage;

        double reqPay = getCost(client);

        client.reqPay = (((int)System.Math.Ceiling(reqPay / 100.0)) * 100) + 200;

        client.EmailFreq = Random.Range(Settings.MIN_EMAIL_FREQ, Settings.MAX_EMAIL_FREQ);

        return(client);
    }
Пример #9
0
        public void Words_100Pass()
        {
            List <string> Passwords = new List <string>();
            int           i         = 0;

            while (i < 100)
            {
                WordsGenerator TestGenerator = new WordsGenerator();
                Passwords.Add(TestGenerator.Next(WordsFormat));
                Console.WriteLine(Passwords[i]);
                i++;
            }

            if (Passwords.GroupBy(n => n).Any(c => c.Count() > 1))
            {
                Assert.Fail("Duplicates found");
            }
        }
Пример #10
0
 public void Init()
 {
     data.serverName = WordsGenerator.GetJoinedWord(1);
 }
Пример #11
0
        public void Words_1Pass()
        {
            WordsGenerator TestGenerator = new WordsGenerator();

            Console.WriteLine(TestGenerator.Next(WordsFormat));
        }
 public void Init()
 {
     data.serverName = WordsGenerator.GetJoinedWord(1);
     data.health     = (float)100.0;
 }
Пример #13
0
        // Words
        private void BkgWordsGen_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            // Lock UI
            Action BlockUI = () => grpWordsSettings.Enabled = false;

            grpWordsSettings.Invoke(BlockUI);

            // Save Settings
            string savePattern = "";

            foreach (char component in wordsFormat)
            {
                switch (component)
                {
                case 'A':
                    savePattern = savePattern + ":Adjective";
                    break;

                case 'D':
                    savePattern = savePattern + ":Adverb";
                    break;

                case 'N':
                    savePattern = savePattern + ":Noun";
                    break;

                case 'V':
                    savePattern = savePattern + ":Verb";
                    break;
                }
            }
            Properties.Words.Default.Pattern = savePattern.Substring(1);
            Properties.Words.Default.Save();

            // Generate Passwords based on the settings defined.
            WordsGenerator Generator = new WordsGenerator();
            List <string>  Passwords = new List <string>();
            int            i         = 0;

            while (i < 10)
            {
                Passwords.Add(Generator.Next(wordsFormat));
                i++;
            }
            Generator.Dispose();
            // Update UI
            BeginInvoke((MethodInvoker) delegate
            {
                int j = 0;
                foreach (TextBox pwBox in tabWords.Controls.OfType <TextBox>())
                {
                    pwBox.Text = Passwords[j];
                    pwBox.Select(0, 0);
                    j++;
                }
            });

            // Unblock the UI Controls.
            Action UnblockUI = () => grpWordsSettings.Enabled = true;

            grpWordsSettings.Invoke(UnblockUI);
        }