Esempio n. 1
0
        public void GenerateCase()
        {
            var N  = 100000;
            var dt = new DataTable("data");

            dt.Columns.Add("valueInDispute", typeof(double));
            dt.Columns.Add("isExtreme", typeof(bool));
            dt.Columns.Add("courtCost", typeof(double));
            dt.Columns.Add("attorneyCost", typeof(double));
            dt.Columns.Add("goToCourt", typeof(bool));

            var test = new CaseFactory();

            for (int i = 1; i < N; i++)
            {
                var newCase = test.createCase();
                newCase.calculateCost();

                dt.Rows.Add(
                    newCase.valueInDispute,
                    newCase.isExtreme,
                    newCase.courtCost,
                    newCase.attorneyCost,
                    newCase.decideCourt()
                    );
            }
            Csv.Write(dt, fo2);
        }
Esempio n. 2
0
        private void BuildMap(IMap map)
        {
            for (int i = 0; i < map.Height; i++)
            {
                RowDefinition row = new RowDefinition();
                GameArea.RowDefinitions.Add(row);
            }

            for (int i = 0; i < map.Width; i++)
            {
                ColumnDefinition col = new ColumnDefinition();
                GameArea.ColumnDefinitions.Add(col);
            }


            for (int i = 0; i < map.Height; i++)
            {
                for (int j = 0; j < map.Width; j++)
                {
                    CaseTypes caseType = map.Cases[i, j];

                    ICase caseInst = CaseFactory.GetCaseFromType(caseType);
                    Grid.SetRow(caseInst as UserControl, i);
                    Grid.SetColumn(caseInst as UserControl, j);
                    GameArea.Children.Add(caseInst as UserControl);
                }
            }
        }
Esempio n. 3
0
    public static Case Clone(Case c)
    {
        if (c == null)
        {
            return(null);
        }
        FeatureList list     = new FeatureList();
        Case        instance = CaseFactory.CreateInstance(c.GetCaseID(),
                                                          c.GetCaseName(),
                                                          c.GetCaseDescription(),
                                                          c.GetCaseType(),
                                                          list);

        System.Collections.ArrayList features = c.GetFeatures();
        foreach (Feature f in features)
        {
            c.AddFeature(f.GetFeatureName(),
                         f.GetFeatureType(),
                         f.GetFeatureValue(),
                         f.GetWeight(),
                         f.GetIsKey(),
                         f.GetIsIndex(),
                         f.GetFeatureUnit());
        }

        return(instance);
    }
Esempio n. 4
0
        public Dictionary <uint, string> ReadHashesFile(HashFactory hashFactory, CaseOptions caseOption)
        {
            var hashes = new BuildTruncatedStrings().GetAllTruncatedStrings();

            if (!File.Exists(UserFileName))
            {
                File.Create(UserFileName).Close();
            }

            if (!File.Exists(FileName))
            {
                GetStrings();
                GC.Collect();
            }

            var files = new List <string>()
            {
                UserFileName, FileName
            };
            var caseFactory = CaseFactory.GetCaseType(caseOption);

            var  collisions = new HashSet <string>();
            uint currentHexValue;

            foreach (var file in files)
            {
                using (var fileStream = File.OpenRead(file))
                    using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true))
                    {
                        var line = string.Empty;

                        while ((line = streamReader.ReadLine()) != null)
                        {
                            line            = caseFactory.ChangeCase(line);
                            currentHexValue = hashFactory.Hash(line);

                            if (hashes.ContainsKey(currentHexValue))
                            {
                                if (hashes[currentHexValue] != line)
                                {
                                    collisions.Add(line);
                                }
                            }
                            else
                            {
                                hashes.Add(currentHexValue, line);
                            }
                        }
                    }
            }

            foreach (var collision in collisions)
            {
                currentHexValue          = hashFactory.Hash(collision);
                hashes[currentHexValue] += " / " + collision;
            }

            return(hashes);
        }
Esempio n. 5
0
 public CaseService()
 {
     specimenRepository  = SpecimenRepository.Instance;
     specimenFactory     = SpecimenFactory.Instance;
     requestorRepository = RequestorRepository.Instance;
     requestorFactory    = RequestorFactory.Instance;
     patientRepository   = PatientRepository.Instance;
     patientFactory      = PatientFactory.Instance;
     caseRepository      = CaseRepository.Instance;
     caseFactory         = CaseFactory.Instance;
     slideFactory        = SlideFactory.Instance;
     slideRepository     = SlideRepository.Instance;
 }
Esempio n. 6
0
 private Stage()
 {
     MATRIX                       = new Case[MATRIX_SIZE, MATRIX_SIZE];
     caseFactory                  = new CaseFactory();
     structureFactory             = new StructureFactory();
     itemFactory                  = new ItemFactory();
     studentEnemyFactory          = new StudentEnemyFactory();
     player                       = new Player(0, 0);
     debugOutput                  = new List <string>();
     facingInteractionOutput      = new List <string>();
     closeInteractionsOutput      = new List <string>();
     interactionTriggeredOutput   = new List <string>();
     questOutput                  = new List <string>();
     inCombatOuput                = new List <string>();
     availableCombatOptionsOutput = new List <string>();
     currentLevel                 = 0;
 }
Esempio n. 7
0
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (var item in checkedListBox1.CheckedItems.OfType <string>().ToList())
            {
                CaseTypes tip = (CaseTypes)Enum.Parse(typeof(CaseTypes), item);

                var cs = CaseFactory.getCase(tip);
                if (cs != null)
                {
                    cs.runTest();
                }
                else
                {
                    textBox1.AppendText("-->> " + item + "tipinde test bulunamadı. \n");
                }
            }
        }
Esempio n. 8
0
        private void CreateCase(string[] values)
        {
            Case c = CaseFactory.CreateInstance(_caseName);

            c.SetCaseID(_caseID);
            for (int i = 0; i < _featureNames.Length; i++)
            {
                string  name = _featureNames[i];
                string  v    = values[i];
                Feature f    = Find(name);
                if (f != null)
                {
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_BOOL)
                    {
                    }
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_FLOAT)
                    {
                        double fValue = Convert.ToDouble(v);
                        c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                     fValue, f.GetWeight(), f.GetIsKey(),
                                     f.GetIsIndex());
                    }
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_IMAGE)
                    {
                    }
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_INT)
                    {
                    }
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_MSTRING)
                    {
                    }
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_STRING)
                    {
                    }
                    if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_UNDEFINED)
                    {
                    }
                }
            }
            _cases.Add(c);
            _caseID++;
        }
Esempio n. 9
0
        private List <Region> LoadFromFile()
        {
            if (!File.Exists(_filename))
            {
                return(new List <Region>());
            }

            List <Region> listReg = new List <Region>();

            XmlDocument doc = new XmlDocument();

            doc.Load(_filename);

            //get inventories
            XmlNode regions = doc.GetElementsByTagName("regions").Item(0);

            //Pour chaque inventaire
            foreach (XmlElement region in regions.ChildNodes)
            {
                if (!ulong.TryParse(region.GetAttribute("id"), out ulong id))
                {
                    break;
                }

                Region reg = new Region
                {
                    Id   = id,
                    Name = region.GetAttribute("name"),
                    Type = GetTypeFromString(region.GetAttribute("type"))
                };

                //Pour chaque case
                foreach (XmlElement caseXml in region.ChildNodes)
                {
                    Case c = CaseFactory.BuildCase(caseXml);
                    reg.AddCase(c);
                }
                listReg.Add(reg);
            }

            return(listReg);
        }
Esempio n. 10
0
        public async Task CreateVillageCommand(CommandContext ctx)
        {
            //Vérification de base character + guild
            if (!dep.Entities.Characters.IsPresent(ctx.User.Id) ||
                !dep.Entities.Guilds.IsPresent(ctx.Guild.Id))
            {
                return;
            }

            Guild     guild     = dep.Entities.Guilds.GetGuildById(ctx.Guild.Id);
            Region    region    = dep.Entities.Map.GetRegionByName(guild.RegionName);
            Character character = dep.Entities.Characters.GetCharacterByDiscordId(ctx.User.Id);


            if (region == null || region.GetVillageId() != ulong.MinValue || !character.Location.Equals(region.GetCentralCase().Location))
            {
                //Region n'appartient pas à un serveur, a déjà un village ou case pas adaptée, impossible de construire ici
                DiscordEmbedBuilder embedNotPossible = dep.Embed.CreateBasicEmbed(ctx.User, dep.Dialog.GetString("createVillageNotPossible", character: character, region: region));
                await ctx.RespondAsync(embed : embedNotPossible);

                return;
            }

            Inventory inv = dep.Entities.Inventories.GetInventoryById(character.Id);

            if (inv.GetMoney() < 500)
            {
                //Trop pauvre pour construire un village ..
                DiscordEmbedBuilder embedNoMoney = dep.Embed.CreateBasicEmbed(ctx.User, dep.Dialog.GetString("createVillageNoMoney", character: character));
                await ctx.RespondAsync(embed : embedNoMoney);

                return;
            }


            ////////Sinon, on peut envisager la construction ... !
            InteractivityModule interactivity = ctx.Client.GetInteractivityModule();
            Village             village       = new Village();
            //1 Demander le nom
            DiscordEmbedBuilder embedVillageName = dep.Embed.CreateBasicEmbed(ctx.User, dep.Dialog.GetString("createVillageAskName"));
            await ctx.RespondAsync(embed : embedVillageName);

            bool VillageName = false;

            do
            {
                MessageContext msgTrueName = await interactivity.WaitForMessageAsync(
                    xm => xm.Author.Id == ctx.User.Id && xm.ChannelId == ctx.Channel.Id, TimeSpan.FromMinutes(1));

                if (msgTrueName != null)
                {
                    if (msgTrueName.Message.Content.Length <= 50 &&
                        !dep.Entities.Villages.IsNameTaken(msgTrueName.Message.Content) &&
                        msgTrueName.Message.Content.Length > 2)
                    {
                        village.Name = msgTrueName.Message.Content;
                        village.Name = dep.Dialog.RemoveMarkdown(village.Name);
                        VillageName  = true;
                    }
                    else
                    {
                        DiscordEmbedBuilder embedErrorTrueName = dep.Embed.CreateBasicEmbed(ctx.User, dep.Dialog.GetString("startIntroTrueTaken"));
                        await ctx.RespondAsync(embed : embedErrorTrueName);
                    }
                }
            } while (!VillageName);

            //2 Nom ok, on créer le village de base
            village.Id         = ctx.Guild.Id;
            village.RegionName = region.Name;
            village.KingId     = character.Id;

            //Coût du village retiré au joueur
            inv.RemoveMoney(500);

            //250 va dans les caisses du villages, le reste servant à la "contructions" des bâtiments de base
            Inventory inventory = new VillageInventory();

            inventory.AddMoney(250);
            inventory.Id = village.Id;
            dep.Entities.Inventories.AddInventory(inventory);


            //Ajout des bâtiment de base
            Castle castle = new Castle()
            {
                Level         = 1,
                Name          = "Castle",
                ProprietaryId = character.Id
            };
            House house = new House()
            {
                Level         = 1,
                Name          = "Hut",
                ProprietaryId = character.Id
            };

            village.AddBuilding(castle);
            village.AddBuilding(house);

            //Add the king as inhabitant
            village.AddInhabitant(character);
            character.VillageName = village.Name;
            dep.Entities.Characters.EditCharacter(character);

            //become king
            character.Profession = Profession.King;

            //Village rattaché à la région
            region.SetVillageId(village.Id);

            //Case de la région mise en non valable
            region.GetCentralCase().IsAvailable = false;
            region.SetCentralCase(CaseFactory.BuildCase("village", region.GetCentralCase().Location));

            dep.Entities.Villages.AddVillage(village);

            //Bravo, village créé
            DiscordEmbedBuilder embedVillageCreated = dep.Embed.CreateBasicEmbed(ctx.User, dep.Dialog.GetString("createVillageDone", character: character, village: village));
            await ctx.RespondAsync(embed : embedVillageCreated);
        }
        public static ArrayList GetCases(DataSource ds,
                                         string dictionaryTable,
                                         string dataTable, string caseID)
        {
            string sql = "select * from " + dictionaryTable
                         + "	where "+ FIELD_CASEID + "='"
                         + caseID + "'";

            try
            {
                //read case structure
                Case            c    = CaseFactory.CreateInstance(caseID);
                OleDbConnection conn = new OleDbConnection(ds.GetConnectionString());
                OleDbCommand    cmd  = conn.CreateCommand();
                conn.Open();

                OleDbDataReader reader = ExecuteQuery(cmd, sql);
                while (reader.Read())
                {
                    string name   = reader[FIELD_FEATURENAME].ToString();
                    string type   = reader[FIELD_FEATURETYPE].ToString();
                    string key    = reader[FIELD_KEY].ToString();
                    string index  = reader[FIELD_INDEX].ToString();
                    string weight = reader[FIELD_WEIGHT].ToString();
                    string unit   = reader[FIELD_FEATUREUNIT].ToString();
                    c.AddFeature(name, GetType(type), null,
                                 Convert.ToDouble(weight), GetBOOL(key), GetBOOL(index), unit);
                }
                reader.Close();

                //read cases
                ArrayList features = c.GetFeatures();
                ArrayList cases    = new ArrayList();
                if (ds.GetConditions() != null)
                {
                    sql = "select * from " + dataTable + " where " + FIELD_CASEID + "='"
                          + caseID + "' and " + ds.GetConditions();
                }
                else
                {
                    sql = "select * from " + dataTable + " where " + FIELD_CASEID + "='"
                          + caseID + "'";
                }

                reader = ExecuteQuery(cmd, sql);

                while (reader.Read())
                {
                    Case theCase = CaseFactory.CreateInstance(caseID);
                    foreach (Feature f in features)
                    {
                        string featureName  = f.GetFeatureName();
                        object featureValue = reader[featureName];
                        theCase.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                           featureValue, f.GetWeight(),
                                           f.GetIsKey(), f.GetIsIndex(), f.GetFeatureUnit());
                    }
                    cases.Add(theCase);
                }
                reader.Close();
                cmd.Cancel();
                conn.Close();

                return(cases);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
                return(null);
            }
        }
Esempio n. 12
0
        public Region GenerateNewRegion(int size, ulong id, string name, RegionType regionType, Location centralCase = null, bool forceValable = false)
        {
            Random random = new Random();
            Region r      = new Region
            {
                Name = name,
                Id   = id,
                Type = regionType
            };


            if (centralCase == null)
            {
                centralCase = GetRandomNextCentralCase();
            }

            int baseX = centralCase.XPosition - (int)Math.Floor(Convert.ToDecimal(size / 2));
            int endX  = centralCase.XPosition + (int)Math.Floor(Convert.ToDecimal(size / 2));
            int baseY = centralCase.YPosition - (int)Math.Floor(Convert.ToDecimal(size / 2));
            int endY  = centralCase.YPosition + (int)Math.Floor(Convert.ToDecimal(size / 2));

            for (int i = baseX; i <= endX; i++)
            {
                for (int j = baseY; j <= endY; j++)
                {
                    Case c;

                    if (r.Type == RegionType.Sea)
                    {
                        c = CaseFactory.BuildCase("water", new Location(i, j));
                    }
                    else if (r.Type == RegionType.Desert)
                    {
                        c = CaseFactory.BuildCase("desert", new Location(i, j));
                    }
                    else if (r.Type == RegionType.Mountain)
                    {
                        int rndValue = random.Next(1, 10);
                        if (rndValue < 2)
                        {
                            c = CaseFactory.BuildCase("water", new Location(i, j));
                        }
                        else if (rndValue < 4)
                        {
                            c = CaseFactory.BuildCase("land", new Location(i, j));
                        }
                        else if (rndValue < 6)
                        {
                            c = CaseFactory.BuildCase("forest", new Location(i, j));
                        }
                        else
                        {
                            c = CaseFactory.BuildCase("mountain", new Location(i, j));
                        }
                    }
                    else
                    {
                        int rndValue = random.Next(1, 10);
                        if (rndValue < 3)
                        {
                            c = CaseFactory.BuildCase("water", new Location(i, j));
                        }
                        else if (rndValue < 6)
                        {
                            c = CaseFactory.BuildCase("forest", new Location(i, j));
                        }
                        else
                        {
                            c = CaseFactory.BuildCase("land", new Location(i, j));
                        }
                    }
                    r.AddCase(c);
                }
            }

            //Force this region to have a valid central case
            if (forceValable)
            {
                r.SetCentralCase(CaseFactory.BuildCase("land", r.GetCentralCase().Location));
            }

            _regions.Add(r);
            SaveToFile();

            return(r);
        }
    private void CreateCase(string[] values)
    {
        Case c = CaseFactory.CreateInstance(_caseName);

        c.SetCaseID(_caseID);
        if (_with_id)
        {
            c.AddFeature("id", FeatureType.TYPE_FEATURE_INT, feasture_id, 1.0, false, false, "num");
        }
        feasture_id++;
        for (int i = 0; i < _featureNames.Length; i++)
        {
            string  name = _featureNames[i];
            string  v    = values[i];
            Feature f    = Find(name);
            if (f != null)
            {
                if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_BOOL)
                {
                    if (v == "1")
                    {
                        v = "True";
                    }
                    else
                    {
                        v = "False";
                    }
                    bool fValue = Convert.ToBoolean(v);
                    c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                 fValue, f.GetWeight(), f.GetIsKey(),
                                 f.GetIsIndex(), f.GetFeatureUnit());
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_FLOAT)
                {
                    double fValue = Convert.ToDouble(v);
                    c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                 fValue, f.GetWeight(), f.GetIsKey(),
                                 f.GetIsIndex(), f.GetFeatureUnit());
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_IMAGE)
                {
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_INT)
                {
                    int fValue = Convert.ToInt32(v);
                    c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                 fValue, f.GetWeight(), f.GetIsKey(),
                                 f.GetIsIndex(), f.GetFeatureUnit());
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_MSTRING)
                {
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_STRING)
                {
                    string fValue = v;
                    c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                 fValue, f.GetWeight(), f.GetIsKey(),
                                 f.GetIsIndex(), f.GetFeatureUnit());
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_CATEGORICAL)
                {
                    string fValue = v;
                    c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                 fValue, f.GetWeight(), f.GetIsKey(),
                                 f.GetIsIndex(), f.GetFeatureUnit());
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_Ordinal)
                {
                    int fValue = Convert.ToInt32(v);
                    c.AddFeature(f.GetFeatureName(), f.GetFeatureType(),
                                 fValue, f.GetWeight(), f.GetIsKey(),
                                 f.GetIsIndex(), f.GetFeatureUnit());
                }
                else if (f.GetFeatureType() == FeatureType.TYPE_FEATURE_UNDEFINED)
                {
                }
            }
        }
        if (_with_id)
        {
            c.AddFeature("cluster", FeatureType.TYPE_FEATURE_INT, -4, 1.0, false, false, "num");
        }
        _cases.Add(c);
        _list_cases.Add(c);
        _caseID++;
    }