Exemplo n.º 1
0
        public void Training()
        {
            int Number_Of_Games   = 5;
            int gameTimeInSeconds = 120;
            int maxTurns          = 15;

            Stopwatch watch = new Stopwatch();

            watch.Start();
            //for (int i = 0; i < Number_Of_Games; i++)
            while (watch.Elapsed.TotalSeconds < gameTimeInSeconds)
            {
                TheBoard.StartGame();
                TurnCount = 0;
                RefreshUI();

                while (MainDeckCards.Count > 1)
                {
                    if (TurnCount > maxTurns)
                    {
                        ShowTotals = true;
                        break;
                    }
                    ProcessCurrentTurn();
                }
                JSONwriter.RecordScoreString(MakeScoreString());
                UpdateModel();
            }
        }
Exemplo n.º 2
0
        private static void RecordMoveandResults(BoardState state, CardChoice choice, Card card, CardPlacement placement, int change)
        {
            DecisionResults results = new DecisionResults();

            results.DrawChoice      = choice;
            results.DrawnCardValue  = card.Number;
            results.PlacementChoice = placement;
            results.HandValueChange = change;

            JSONwriter.RecordStateAndResults(state, results);
        }
Exemplo n.º 3
0
        public void Run()
        {
            //List<Thread> threadList = new List<Thread>();
            List <Task> taskList = new List <Task>();

            //Util.StartWatch();
            //Util.l($"Počet záznamů v cache: {Util.outputDataCache.Count()}");
            foreach (var s in sampleNames)
            {
                taskList.Add(Task.Run(() => Algorithm(s)));

                /*Thread t = new Thread(() => Algorithm(s));
                 * t.Start();*/
                //threadList.Add(t);
                //Algorithm(s);
            }

            Task.WaitAll(taskList.ToArray());

            List <string> outputList          = new List <string>(); //Hlavní výstupy
            List <string> secondaryOutputList = new List <string>(); //Vedlješí výstupy

            string[] splittedOutputName = { };
            foreach (var item in Util.outputDataCache)
            {
                foreach (var output in item.output)
                {
                    if (output.Key.StartsWith("M_"))
                    {
                        //Zpracování pro hlavní výstupy
                        splittedOutputName = output.Key.Split('_');
                        if (!outputList.Contains(splittedOutputName[1])) // Název výstupu bez M_
                        {
                            //if (splittedOutputName.Count() <=1) Util.l($"{output.Key.StartsWith("M_")}:{output.Key}:{splittedOutputName.Count()}");
                            outputList.Add(splittedOutputName[1]);
                        }
                    }
                    //Zpracování pro vedlejší výstupy
                    else
                    {
                        if (!secondaryOutputList.Contains(output.Key))
                        {
                            secondaryOutputList.Add(output.Key);
                        }
                    }
                }
            }
            List <string> orpList = new List <string>();

            foreach (var orp in Util.outputDataCache)
            {
                if (!orpList.Contains(orp.nameOrp))
                {
                    orpList.Add(orp.nameOrp);
                }
            }

            int[,,] mainData      = new int [sampleNames.Count, outputList.Count, orpList.Count];          //Hodnoty pro hlavní výstupy
            int[,,] secondaryData = new int [sampleNames.Count, secondaryOutputList.Count, orpList.Count]; //Hodnoty pro vedlejší výstupy

            List <CloudSettings> settings = Model.Cloud.SETTINGSGetSettings();

            List <CloudOutput> filter = new List <CloudOutput>();

            for (int i = 0; i < sampleNames.Count; i++)
            {
                foreach (var item in Util.outputDataCache)
                {
                    if (item.sampleName == sampleNames[i])
                    {
                        filter.Add(item);
                    }
                }
                //Uložení havních výstupů
                for (int j = 0; j < outputList.Count; j++)
                {
                    for (int k = 0; k < orpList.Count; k++)
                    {
                        foreach (var item in filter)
                        {
                            if (item.nameOrp == orpList[k])
                            {
                                if (item.output.ContainsKey("M_" + outputList[j]))
                                {
                                    mainData[i, j, k] = ((int)item.output["M_" + outputList[j]]);
                                }
                                else
                                {
                                    mainData[i, j, k] = (-1);
                                }
                            }
                        }
                    }
                }

                //Uložení vedlejších výstupů
                for (int j = 0; j < secondaryOutputList.Count; j++)
                {
                    for (int k = 0; k < orpList.Count; k++)
                    {
                        foreach (var item in filter)
                        {
                            if (item.nameOrp == orpList[k])
                            {
                                if (item.output.ContainsKey(secondaryOutputList[j]))
                                {
                                    secondaryData[i, j, k] = ((int)item.output[secondaryOutputList[j]]);
                                }
                                else
                                {
                                    secondaryData[i, j, k] = (-1);
                                }
                            }
                        }
                    }
                }
            }

            //Vytváření souboru root
            //Hlavní výstupy

            /*JSONwriter.CreateJsonRoot(
             * new JObject
             * (
             *     new JProperty("orplist", orpList),
             *     new JProperty("outputlist", outputList),
             *     new JProperty("outputresultcolor", new JArray() {
             *         GetValueFromSettingsList(settings, "output_result-1_color"),
             *         GetValueFromSettingsList(settings, "output_result0_color"),
             *         GetValueFromSettingsList(settings, "output_result1_color"),
             *         GetValueFromSettingsList(settings, "output_result2_color"),
             *         GetValueFromSettingsList(settings, "output_result3_color") })
             * ),
             * "root_main"
             * );
             * //Vedlejší výstupy
             * JSONwriter.CreateJsonRoot(
             * new JObject
             * (
             *     new JProperty("orplist", orpList),
             *     new JProperty("outputlist", secondaryOutputList),
             *     new JProperty("outputresultcolor", new JArray() {
             *         GetValueFromSettingsList(settings, "output_result-1_color"),
             *         GetValueFromSettingsList(settings, "output_result0_color"),
             *         GetValueFromSettingsList(settings, "output_result1_color"),
             *         GetValueFromSettingsList(settings, "output_result2_color"),
             *         GetValueFromSettingsList(settings, "output_result3_color") })
             * ),
             * "root_secondary"
             * );*/

            //Všechno dohromady
            JSONwriter.CreateJsonRoot(
                new JObject
                (
                    new JProperty("orplist", orpList),
                    new JProperty("mainoutputlist", outputList),
                    new JProperty("secondaryoutputlist", secondaryOutputList),
                    new JProperty("outputresultcolor", new JArray()
            {
                GetValueFromSettingsList(settings, "output_result-1_color"),
                GetValueFromSettingsList(settings, "output_result0_color"),
                GetValueFromSettingsList(settings, "output_result1_color"),
                GetValueFromSettingsList(settings, "output_result2_color"),
                GetValueFromSettingsList(settings, "output_result3_color")
            })
                ),
                "root"
                );
            var arrayMain = JArray.FromObject(mainData);
            var arraySec  = JArray.FromObject(secondaryData);

            JSONwriter.CreateJson(
                new JObject
                (
                    new JProperty("samplename", sampleNames),
                    new JProperty("maindata", arrayMain),
                    new JProperty("secondarydata", arraySec)
                ),
                "_" + Util.GetModelDate()
                );;
            //Vytváření souboru konkrétních dat
            //Hlavní výstupy

            /*JSONwriter.CreateJson(
             * new JObject
             * (
             *     new JProperty("samplename",sampleNames),
             *     new JProperty("data", arrayMain)
             * ),
             * "_main"
             * );*/
            //Vedlejší výstupy

            /*JSONwriter.CreateJson(
             * new JObject
             * (
             *     new JProperty("samplename", sampleNames),
             *     new JProperty("data", arraySec)
             * ),
             * "_secondary"
             * );*/



            //Util.l($"Počet záznamů v cache: {Util.outputDataCache.Count()}");

            //Util.StopWatch("Vypočet dokončen!");
            //Output();
        }