Esempio n. 1
0
        private void BtnBuild_Click(object sender, RoutedEventArgs e)
        {
            // создаем набор случайных примитивов
            RandomFactory drankDirector = new RandomFactory();

            for (int i = 0; i < 5; i++)
            {
                AddToCanvas(
                    drankDirector.BuildRandomShape(), // директор
                    random.NextDouble() * (canvas.ActualWidth - 50),
                    random.NextDouble() * (canvas.ActualHeight - 50));
            }

            // клонирование дерева
            Shape tree = new ShapeBuilder(ShapeBuilder.Type.TREE).Build();

            tree.Stroke = Brushes.Blue;
            double left = random.NextDouble() * (canvas.ActualWidth - 50);
            double top  = random.NextDouble() * (canvas.ActualHeight - 50);

            AddToCanvas(tree, left, top);

            for (int j = 0; j < 2; j++)
            {
                left += tree.Width * 0.5;

                Tree copy = (tree as Tree).Clone() as Tree; // копия
                copy.Stroke = Brushes.Green;
                AddToCanvas(copy, left, top);
            }
        }
Esempio n. 2
0
    //随机列表

    //获取随机
    public int[] GetRandNumbers(string lotteryType, ulong issue, string randType)
    {
        RichLotteryRecord record = m_dataCenter.GetRecordOf(lotteryType);
        RichDataEntry     entry  = m_dataCenter.GetEntryOf(record, issue);

        //找到随机
        IRandom rand = RandomFactory.GetRandom(randType);

        rand.SetRandomSeed(entry);

        //获取规则
        int count = m_setting.m_LottryTypes[lotteryType].totalNum;
        var seg   = m_setting.m_LottryTypes[lotteryType].segments;

        int[] result = new int[count];
        int   pos    = 0;

        foreach (var s in seg)
        {
            int[] r = rand.GetRandNum(s.max, s.min, s.count);
            r.CopyTo(result, pos);
            pos += s.count;
        }

        return(result);
    }
Esempio n. 3
0
    public void Initialize(RandomFactory <T> factory,
                           Dictionary <T, float> updatedChances = default(Dictionary <T, float>),
                           float chanceToGetNothing             = -1.0f)
    {
        // Updated chances specified: generate chanceTable and intialize with it
        if (updatedChances != default(Dictionary <T, float>))
        {
            // create new dict based on factory
            var chanceTable = new Dictionary <T, float> ();
            for (int i = 0; i < factory._ranges.Length; i++)
            {
                chanceTable.Add(factory._objects[i], factory._ranges[i]);
            }

            // update dict with updateChances
            foreach (var pair in updatedChances)
            {
                chanceTable[pair.Key] = pair.Value;
            }

            // call Initialize with that dict
            this.Initialize(chanceTable, chanceToGetNothing);
        }
        // Updated chances NOT specified: just copy data from a factory
        else
        {
            _lowwater   = (chanceToGetNothing > 0f) ? 0f - chanceToGetNothing : factory._lowwater;
            _hightwater = factory._hightwater;
            factory._ranges.CopyTo(_ranges, factory._ranges.Length);
            factory._objects.CopyTo(_objects, factory._objects.Length);
        }
    }
Esempio n. 4
0
        public static KeyValuePair <int, T> GetRandomElementWithIndex <T>(this ICollection <T> collection)
        {
            var randomIndex   = RandomFactory.GetInstance().Next(collection.Count);
            var randomElement = collection.ElementAtOrDefault(randomIndex);

            return(new KeyValuePair <int, T>(randomIndex, randomElement));
        }
        public Engine(Matrix3D camera)
        {
            var ambient  = 0.00;
            var diffuse  = 0.95;
            var scale    = 75;
            var distance = 100.0;

            this.camera = camera;


            this.screen = new Screen(width, height);
            this.window = new Window(width, height, scale, distance, camera);

            var randomFactory      = new RandomFactory();
            var hemiSamplerFactory = new HemiSamplerFactory();
            var triangleSampler    = new TriangleSampler(randomFactory);
            var primitives         = new Construction();
            var illumination       = new Illumination(primitives, randomFactory, triangleSampler);

            var seedFactory = new Random();

            this.tracer = new Tracer(primitives, new Emissive(Constant.WHITE, ambient, 1.0), randomFactory, hemiSamplerFactory);

            ExampleUtil.buildCornelBox(primitives, illumination, diffuse, tracer, randomFactory, hemiSamplerFactory);
        }
Esempio n. 6
0
        public void TestFakerBaseDictionary()
        {
            Name          n      = new Name();
            RandomFactory random = new RandomFactory(null, LocaleType.en);

            Assert.AreEqual(n.GetType(), random.GetFakerObjectFromName("Name").GetType());
        }
Esempio n. 7
0
        public void Test_IsStringValid()
        {
            List <string> myList;

            for (var i = 1; i < 128; i++)
            {
                myList = RandomFactory.GetRandomListOfString(64, i);
                foreach (var s in myList)
                {
                    var res = Utils.IsStringValid(s);
                    Assert.AreEqual(res, true);
                }
            }

            for (var i = 1; i < 128; i++)
            {
                myList = RandomFactory.GetRandomListOfInt(64, i);
                foreach (var s in myList)
                {
                    var res = Utils.IsStringValid(s);
                    Assert.AreEqual(res, true);
                }
            }

            for (var i = 1; i < 128; i++)
            {
                myList = RandomFactory.GetRandomListOfSpecialString(64, i);
                foreach (var s in myList)
                {
                    var res = Utils.IsStringValid(s);
                    Assert.AreEqual(res, false);
                }
            }
        }
        public void GeneratingAMazeWithABlockInTheMiddleWorks()
        {
            var map = new BitArreintjeFastInnerMap(128, 128);

            for (int y = 33; y < 96; y++)
            {
                for (int x = 33; x < 96; x++)
                {
                    map[x, y] = true;
                }
            }

            var mapFactory    = new InnerMapFactoryCustom <BitArreintjeFastInnerMap>(map);
            var randomFactory = new RandomFactory <NetRandom>(1337);

            var algorithm    = new AlgorithmBacktrack();
            var generatedMap = algorithm.GoGenerate(mapFactory, randomFactory, null);

            var path = PathFinderDepthFirstSmartWithPos.GoFind(map, null);

            using (var fs = new FileStream("GeneratingAMazeWithABlockInTheMiddleWorks.png", FileMode.Create))
            {
                WithPath.SaveMazeAsImageDeluxePng(map, path, fs);
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Take all modifyable parameters from the given data object.
        /// </summary>
        /// <param name="data"></param>
        public void TakeParametersFrom(AriadneSettingsData data)
        {
            // The Auto... flags for Width and Height have already been checked by the MazeUserControl.
            this.xSize = Math.Max(dimensionsObj.MinSize, Math.Min(dimensionsObj.MaxXSize, data.MazeWidth));
            this.ySize = Math.Max(dimensionsObj.MinSize, Math.Min(dimensionsObj.MaxYSize, data.MazeHeight));

            if (!data.AutoSeed)
            {
                this.seed = Math.Max(0, Math.Min(codeObj.SeedLimit - 1, data.Seed));
            }
            else
            {
                Random r = RandomFactory.CreateRandom();
                this.seed = r.Next(codeObj.SeedLimit);
            }
            this.random = RandomFactory.CreateRandom(seed);

            this.reservedAreas.Clear();
            this.reservedAreaShapes.Clear();
            this.outlineShape = null;
            this.embeddedMazeShapes.Clear();
            this.embeddedMazes.Clear();

            this.Irregular    = data.IrregularMaze;
            this.Irregularity = data.Irregularity;

            // Decode(data.Code);
        }
 private GroupDto SetupGroupDto()
 {
     return(new GroupDto()
     {
         Name = RandomFactory.GetCompanyName(),
         IsActive = RandomFactory.GetBoolean()
     });
 }
Esempio n. 11
0
        /// <summary>
        /// Creates a new instance of <see cref="DynamicParameterProvider"/>
        /// </summary>
        /// <param name="parameterSetListCapacity">Parameter set list capacity</param>
        public DynamicParameterProvider(int parameterSetListCapacity)
        {
            _random = RandomFactory.GetInstance();
            _currentParameterSetIndex = 0;

            ParameterSets        = GenerateRandomParameters(parameterSetListCapacity);
            WinningParameterSets = new List <Tuple <double, double> >();
        }
Esempio n. 12
0
 public DCSBIOSDecoder()
 {
     _jaceId           = RandomFactory.Get();
     _imageUpdateTread = new Thread(ImageRefreshingThread);
     _imageUpdateTread.Start();
     DCSBIOS.GetInstance().AttachDataReceivedListener(this);
     EventHandlers.AttachDCSBIOSDecoder(this);
 }
 protected GroupDto GetGroupDto()
 {
     return(new GroupDto()
     {
         Name = RandomFactory.GetCompanyName(),
         IsActive = RandomFactory.GetBoolean()
     });
 }
Esempio n. 14
0
        public void TestRandomSelection()
        {
            int        i      = RandomProxy.Next();
            DummyClass d      = new DummyClass(i);
            var        r      = new RandomFactory(d, LocaleType.en);
            var        result = r.GetRandomItemFromProperty <int>("Test1", d);

            Assert.IsTrue(Array.Exists(d.Test1, n => n == result));
        }
        public JsonResult GetRandom()
        {
            var response = _tipService.Filter(new TipFilter {
                StartPage = 1, EndPage = 1, OnlyStatusActivated = true
            });
            var randomId = new RandomFactory().Number(response.TotalRecords);
            var tip      = _tipService.Get(randomId);

            return(new JsonFactory().Success(tip));
        }
Esempio n. 16
0
        public DataProcessor(DataScheme scheme, IGeneratorFactory generatorFactory)
        {
            scheme.ThrowIfNull(nameof(scheme));
            scheme.Root.ThrowIfNull(nameof(scheme.Root));
            scheme.Definitions.ThrowIfNullOrEmpty(nameof(scheme.Definitions));

            _scheme                = scheme;
            _generatorFactory      = generatorFactory ?? throw new ArgumentNullException(nameof(generatorFactory));
            _propertyObjectFactory = new PropertyObjectFactory();
            _randomFactory         = new RandomFactory();
        }
Esempio n. 17
0
 /// <summary>
 /// Makes a random Movie
 /// </summary>
 /// <returns>A Movie with randomly generated variables</returns>
 public static Movie Random() => new Movie(
     RandomFactory.String(),
     RandomFactory.String(),
     RandomFactory.String(),
     RandomFactory.Int(),
     RandomFactory.Enum <Genre>(),
     RandomFactory.Enum <Classification>(),
     RandomFactory.DateTime(),
     RandomFactory.Int(),
     RandomFactory.Int(),
     RandomFactory.Int());
Esempio n. 18
0
        /// <summary>
        /// Return the move with the highest win-rate after performing in parallel the specified number of simulations on the game.
        /// </summary>
        /// <param name="game">The starting gamestate.</param>
        /// <param name="simulations">The number of simulations to perform.</param>
        public static TMove ParallelSearch(TGame game, int simulations)
        {
            TPlayer      aiPlayer   = game.CurrentPlayer;
            List <TMove> legalMoves = game.GetLegalMoves();
            int          count      = legalMoves.Count;

            MoveStats[] moveStats = new MoveStats[count];

            Parallel.For(0, simulations,

                         () => RandomFactory.Create(),

                         (i, loop, localRandom) =>
            {
                int moveIndex = localRandom.Next(0, count);
                TGame copy    = game.DeepCopy();
                copy.DoMove(legalMoves[moveIndex]);

                while (!copy.IsGameOver())
                {
                    copy.DoMove(
                        copy.GetLegalMoves().RandomItem(localRandom));
                }

                Interlocked.Add(ref moveStats[moveIndex].executions, 1);
                if (copy.IsWinner(aiPlayer))
                {
                    Interlocked.Add(ref moveStats[moveIndex].victories, 1);
                }

                return(localRandom);
            },

                         x => { }
                         );

            int    bestMoveFound  = 0;
            double bestScoreFound = 0f;

            for (int i = 0; i < count; i++)
            {
                double score = moveStats[i].Score();
                if (score > bestScoreFound)
                {
                    bestScoreFound = score;
                    bestMoveFound  = i;
                }
            }

            //for (int i = 0; i < legalMoves.Count; i++)
            //    Console.WriteLine("Move " + legalMoves[i] + " has " + moveStats[i].victories + " victories / " + moveStats[i].executions + " executions.");

            return(legalMoves[bestMoveFound]);
        }
        private void RoundReset()
        {
            AssingGridsToPlayers();

            // randomize the pool
            _roundItems = new List <string>(_items);
            var roundGuid = Guid.NewGuid();
            var random    = RandomFactory.FromGuid(roundGuid);

            _roundItems.Shuffle(random);
            _winners = 0;
        }
        public async Task CreateGroup_NameTooLong_BadRequest()
        {
            // Arrange
            var dto = GetGroupDto();

            dto.Name = RandomFactory.GetAlphanumericString(Constants.MaximumLengths.StringColumn + 1);

            // Act
            using var response = await Client.PostAsJsonAsync("/api/groups", dto);

            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }
        public void GroupDtoValidation_Valid_NoErrors()
        {
            var dto = new GroupDto
            {
                Name = RandomFactory.GetCompanyName(),
            };

            var validationContext = new ValidationContext(dto);

            var validationResults = dto.Validate(validationContext);

            validationResults.Should().HaveCount(0);
        }
Esempio n. 22
0
        /// <summary>
        /// Constructor.
        /// Create a maze whose parameters are encoded in the given code (see property Code).
        /// </summary>
        /// <param name="code">a string of seven letters (case is ignored)</param>
        public Maze(string code)
        {
            int version = MazeCode.GetCodeVersion(code);

            this.dimensionsObj = MazeDimensions.Instance(version);
            this.codeObj       = MazeCode.Instance(version);

            codeObj.Decode(code
                           , out this.seed
                           , out this.xSize, out this.ySize
                           );
            this.random = RandomFactory.CreateRandom(seed);
        }
Esempio n. 23
0
    public void setMarkVisible(bool isVisible, int num)
    {
        int index = -1;

        foreach (var randomType in RandomFactory.GetRandomFuncList())
        {
            index++;
            if (index >= mItemCount || num == index)
            {
                continue;
            }
            items[index].GetComponent <RandomItemUI>().setMarkVisible(false);
        }
    }
        /// <summary>
        /// Generate a Maze
        /// </summary>
        /// <param name="map">The inner map to generate the maze in</param>
        /// <param name="seed">The seed that is used to generate a maze</param>
        /// <param name="pixelChangedCallback">When a pixel is changed you can define a callback here to for example draw the maze while its being generated, add null if you don't want this. Last 2 longs are for the current step and the total steps (can be used to calculate how far the maze is done being generated)</param>
        public InnerMap Generate <M, R>(int width, int height, int seed, Action <int, int, long, long> pixelChangedCallback) where M : InnerMap where R : IRandom
        {
            if (pixelChangedCallback == null)
            {
                pixelChangedCallback = (x, y, z, u) => { };
            }

            var innerMapFactory = new InnerMapFactory <M>(width, height);
            var randomFactory   = new RandomFactory <R>(seed);

            var generatedMap = GoGenerate(innerMapFactory, randomFactory, pixelChangedCallback);

            return(generatedMap);
        }
        public void GroupDtoValidation_NameTooLong_HasValidationErrors()
        {
            var dto = new GroupDto
            {
                Name = RandomFactory.GetAlphanumericString(Constants.MaximumLengths.StringColumn + 1),
            };

            var validationContext = new ValidationContext(dto);

            var validationResults = dto.Validate(validationContext);

            validationResults.Should().HaveCountGreaterThan(0);
            validationResults.FirstOrDefault(validationResult => validationResult.MemberNames.Any(memberName => memberName.Equals(nameof(GroupDto.Name))))?.Should().NotBeNull();
        }
Esempio n. 26
0
        /// <summary>
        /// Loads the game from the given save file
        /// </summary>
        /// <param name="saveFile">the path to the save file</param>
        private static void LoadGame(string saveFile)
        {
            // Reset the random generator
            RandomFactory.Reset();

            // Reset the id factory
            IdFactory.ResetIdFactory();

            // Create the GamePlay simulator
            GamePlay sim = new GamePlay(saveFile);

            // Replace this instance of Game with the simulated one
            game = sim.GetLoadedGame();
        }
Esempio n. 27
0
        public object Perform(StepContext ctx, object input)
        {
            var random = RandomFactory.Create();

            return(CreateCellMatrix(ctx)
                   .Fill(random, ctx.RandomFillPercent)
                   .Smooth(
                       ctx.SmoothSteps,
                       ctx.MaxActiveNeighbors,
                       ctx.NeighboursRadio
                       )
                   .RemoveRegions(ctx.RemoveRegionsSize)
                   .MakeBorders());
        }
Esempio n. 28
0
        public void TestNextMethod2()
        {
            int        m      = RandomProxy.Next(2, 100);
            DummyClass d      = new DummyClass(m);
            string     format = @"#{Test1} #{Test1}";
            var        r      = new RandomFactory(d, LocaleType.en);
            var        result = r.Next <int>(format);

            string[] numbers = result.Split(' ');
            Assert.AreEqual(numbers.Length, 2);
            Assert.IsTrue(Array.Exists(d.Test1, n => n == int.Parse(numbers[0])));
            Assert.IsTrue(Array.Exists(d.Test1, n => n == int.Parse(numbers[0])));
            Assert.IsTrue(numbers[0] != numbers[1]);
        }
Esempio n. 29
0
        public static string GenerateRandomAlphaString(int length = 8)
        {
            const string alphabet = "abcdefghijklmnopqrstuvwxyz";

            var r      = RandomFactory.Create();
            var handle = "";

            for (var count = 0; count < length; count++)
            {
                var chosenCharIndex = r.Next(0, alphabet.Length);
                handle += alphabet[chosenCharIndex];
            }

            return(handle);
        }
Esempio n. 30
0
        public async Task UpdateGroup_NameTooLong_BadRequest()
        {
            // Arrange
            Data.Models.Group randomGroup = null;
            ServiceProvider.ExecuteWithDbScope(db => randomGroup = SeedHelper.GetRandomGroup(db));
            var dto = Mapper.Map <GroupDto>(randomGroup);

            dto.Name = RandomFactory.GetAlphanumericString(Constants.MaximumLengths.StringColumn + 1);

            // Act
            using var response = await Client.PutAsJsonAsync("/api/groups", dto);

            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }