コード例 #1
0
 public async Task Dice(CommandContext ctx, [Description("Side of dice.")] int sided, [Description("Number of dices")] int number)
 {
     int[] rslt = RandomController.GetRandomDice(sided, number);
     for (int i = 0; i < rslt.Length; i++)
     {
         await ctx.RespondAsync($"You roled: " + rslt[i]);
     }
 }
コード例 #2
0
ファイル: Ground.cs プロジェクト: JourneyHans/SugerTown
    // 创建普通Unit
    private Unit CreateNormalUnit(Tile tile, int level = -1)
    {
        if (level == -1)    // 未指定等级,就用随机等级
        {
            level = RandomController.Range(GlobalValue.NormalLevelList, GlobalValue.NormalProbList);
        }
        Transform unitTr = Instantiate(unitPrefab);
        Unit      unit   = unitTr.GetComponent <Unit>();

        unit.SetParent(tile);
        unit.SetData(level);
        return(unit);
    }
コード例 #3
0
        public async Task Get_WithoutParamenter_ReturnsOk()
        {
            // Arrange
            var randomController = new RandomController(fakeHistoryService, fakeConfiguration);

            // Act
            var result = await randomController.Get(0);

            // Assert
            var okResult     = Assert.IsType <OkObjectResult>(result.Result);
            var randomNumber = Assert.IsType <int>(okResult.Value);

            Assert.True(randomNumber >= 0);
        }
コード例 #4
0
ファイル: AngleStuff.cs プロジェクト: theboot999/Bushfire
        public static float GetRandomRadianAngleBetween(float angle, float radianEitherSide)
        {
            float angleMin = angle - radianEitherSide;
            float angleMax = angle + radianEitherSide;
            float newAngle = RandomController.GetRandomFloat(angleMin, angleMax);

            newAngle = newAngle % AngleStuff.pieTwo;

            if (newAngle < 0)
            {
                newAngle = newAngle + AngleStuff.pieTwo;
            }
            return(newAngle);
        }
コード例 #5
0
ファイル: SmokeParticle.cs プロジェクト: theboot999/Bushfire
        private void SetDrawSize(Vector2 startDrawSize)
        {
            //randomizing the draw size slightly
            float sizeDif = 0.5f;
            float minX    = startDrawSize.X - (startDrawSize.X * sizeDif);
            float maxX    = startDrawSize.X + (startDrawSize.X * sizeDif);
            float minY    = startDrawSize.Y - (startDrawSize.Y * sizeDif);
            float maxY    = startDrawSize.Y + (startDrawSize.Y * sizeDif);

            drawSize = new Vector2(RandomController.GetRandomFloat(minX, maxX), RandomController.GetRandomFloat(minY, maxY));

            if (life > 0)
            {
                drawSize = drawSize + (increaseSize * life);
            }
        }
コード例 #6
0
ファイル: RandomTest.cs プロジェクト: JourneyHans/SugerTown
    void Start()
    {
        int[]   targets       = { 1, 2, 3, 4 };
        float[] probabilities = { 0.7f, 0.2f, 0.08f, 0.02f };

        int[] times = { 0, 0, 0, 0 };

        for (int i = 0; i < _times; i++)
        {
            int result = RandomController.Range(targets, probabilities);
            times[result - 1]++;
        }

        for (int i = 0; i < targets.Length; i++)
        {
            print(targets[i] + " 出现了 " + times[i] + " 次" + ", 概率为 " + (float)times[i] / _times * 100 + "%");
        }
    }
コード例 #7
0
ファイル: Ground.cs プロジェクト: JourneyHans/SugerTown
    // 创建Unit
    private Unit CreateUnit(Tile tile, int level = -1)
    {
        int  type = RandomController.Range(GlobalValue.UnitClassList, GlobalValue.UnitSpawnProbList);
        Unit unit = null;

        switch (type)
        {
        case 1:
            unit = CreateNormalUnit(tile, level);
            break;

        case 2:
            unit = CreateMovableUnit(tile);
            break;

        default:
            print("Wrong type: " + type);
            break;
        }
        return(unit);
    }
コード例 #8
0
ファイル: LevelController.cs プロジェクト: lordeup/GameDev
    void Start()
    {
        _touchClick       = gameObject.AddComponent <TouchClick>();
        _randomController = gameObject.AddComponent <RandomController>();
        _sceneController  = gameObject.AddComponent <SceneController>();
        _isUpdate         = true;
        _isLose           = false;
        _lineColor        = new Color32(232, 14, 12, 255);

        String value = Utils.GetRegexMatchValue(_sceneController.GetActiveScene().name);

        if (value.Length > 2)
        {
            LevelNumberController.levelNumber = Int32.Parse(value[0].ToString());
            LevelNumberController.taskNumber  = Int32.Parse(value[value.Length - 1].ToString());
        }

        foreach (Image shape in shapes)
        {
            Utils.ChangeColorImage(shape, colorShape);
        }
    }
コード例 #9
0
ファイル: ControllerTests.cs プロジェクト: bgaran/CS480b
        public void Test_Get_Success()
        {
            var provider   = new SimpleRandomQuoteProvider();
            var controller = new QuoteController(provider);

            var actual = controller.Get(1);

            Assert.IsTrue(actual.Value.ID == 1);


            var actual2 = controller.Get(2);

            Assert.IsTrue(actual2.Value.Text == "It is better to know how to learn than to know");

            var actual3 = controller.Get();

            Assert.IsTrue(actual3.Value.Count() == provider.quoteList.Length);


            var controller2 = new RandomController(provider);
            var actual4     = controller2.Get();

            Assert.IsTrue(actual4.Value.ID <= provider.quoteList.Length);
        }
コード例 #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="typeid">通道类型</param>
        /// <param name="chanelNo">银行编号</param>
        /// <param name="userId"></param>
        /// <param name="cycle">循环通道</param>
        /// <returns></returns>
        public static ChannelInfo GetModel(int typeid, string chanelNo, int userId, bool cycle)
        {
            int open = 0;

            var typeinfo = ChannelType.GetCacheModel(typeid);

            if (typeinfo == null)
            {
                return(null);
            }

            var channel = Channel.GetCacheModel(chanelNo);

            if (channel == null)
            {
                return(null);
            }

            if (typeid != channel.typeId)
            {
                return(null);
            }

            int usersuppid = -1;

            //通道没设置供应商的时候,自动获取通道类型的供应商
            //当通道设置了供应商时才按照通道设置的供应商
            if (!channel.supplier.HasValue || channel.supplier == 0)
            {
                channel.supplier = typeinfo.supplier;
                channel.supprate = typeinfo.supprate;
            }

            if (cycle)
            {
                #region 循环通道
                if (typeinfo.runmode == 1)
                {
                    string set = typeinfo.runset;

                    var datas   = new List <int>();
                    var weights = new List <ushort>();

                    foreach (string item in set.Split('|'))
                    {
                        string[] arr = item.Split(':');

                        datas.Add(Convert.ToInt32(arr[0]));
                        weights.Add(Convert.ToUInt16(arr[1]));
                    }

                    var rancontroller = new RandomController(1)
                    {
                        datas = datas, weights = weights
                    };

                    int seed = GetRandomSeed();
                    var rand = new Random(seed);//

                    int[] suppid = rancontroller.ControllerRandomExtract(rand);

                    if (suppid.Length > 0)
                    {
                        channel.supplier = suppid[0];
                    }
                }
                #endregion
            }

            #region 通道开启状态
            //
            switch (typeinfo.isOpen)
            {
            case OpenEnum.AllClose:    //全部关闭
                usersuppid = GetUserSupp(userId, typeid);
                open       = 0;
                break;

            case OpenEnum.AllOpen:    //全部开启
                usersuppid = GetUserSupp(userId, typeid);
                open       = 1;
                break;

            case OpenEnum.Close:                                                        //根据设置 默认为关闭算法,如果后台对用户单独设置了就计算单独的开启状态。 如果没有看通道本身的状态 默认为关闭。如果后台都未设置为默认状态
                open = GetChanelSysStatus(4, userId, chanelNo, typeid, ref usersuppid); // GetSysOpenStatus(userId, chanelNo, info.typeId, 0);
                break;

            case OpenEnum.Open:                                                         //
                open = GetChanelSysStatus(8, userId, chanelNo, typeid, ref usersuppid); //GetSysOpenStatus(userId, chanelNo, info.typeId, 1);
                break;
            }
            #endregion

            //自定义通道
            if (usersuppid > -1)
            {
                channel.supplier = usersuppid;
            }
            /*用户通道状态 只有系统通道状态为开启时用户的设置才有效*/
            if (open == 1)
            {
                open = GetUserOpenStatus(userId, chanelNo, typeid, 1);
            }
            channel.isOpen = open;

            return(channel);
        }
コード例 #11
0
        /// <summary>
        /// 获通道的相关信息
        /// </summary>
        /// <param name="chanelNo">通道代码</param>
        /// <param name="userId">用户ID</param>
        /// <param name="cycle">是否更新当前渠道</param>
        /// <returns></returns>
        public static ChannelInfo GetModel(string chanelNo, int userId, bool cycle)
        {
            int open = 0;

            var info = GetCacheModel(chanelNo);

            if (info == null)
            {
                return(null);
            }

            var typeinfo = ChannelType.GetCacheModel(info.typeId);

            if (typeinfo == null)
            {
                return(null);
            }

            int usersuppid = -1;

            if (!info.supplier.HasValue || info.supplier == 0)
            {
                info.supplier = typeinfo.supplier;
                info.supprate = typeinfo.supprate;
            }

            if (cycle)
            {
                #region
                if (typeinfo.runmode == 1)
                {
                    string set = typeinfo.runset;

                    var datas   = new List <int>();
                    var weights = new List <ushort>();

                    foreach (string item in set.Split('|'))
                    {
                        string[] arr = item.Split(':');

                        datas.Add(Convert.ToInt32(arr[0]));
                        weights.Add(Convert.ToUInt16(arr[1]));
                    }

                    var rancontroller = new RandomController(1);
                    rancontroller.datas   = datas;
                    rancontroller.weights = weights;

                    int    seed = GetRandomSeed();
                    Random rand = new Random(seed);//

                    int[] suppid = rancontroller.ControllerRandomExtract(rand);

                    info.supplier = suppid[0];
                }
                #endregion
            }

            /*系统通道状态*/
            switch (typeinfo.isOpen)
            {
            case OpenEnum.AllClose:    //全部关闭
                usersuppid = GetUserSupp(userId, info.typeId);
                open       = 0;
                break;

            case OpenEnum.AllOpen:    //全部开启
                usersuppid = GetUserSupp(userId, info.typeId);
                open       = 1;
                break;

            case OpenEnum.Close:                                                             //根据设置 默认为关闭算法,如果后台对用户单独设置了就计算单独的开启状态。 如果没有看通道本身的状态 默认为关闭。如果后台都未设置为默认状态
                open = GetChanelSysStatus(4, userId, chanelNo, info.typeId, ref usersuppid); // GetSysOpenStatus(userId, chanelNo, info.typeId, 0);
                break;

            case OpenEnum.Open:                                                              //
                open = GetChanelSysStatus(8, userId, chanelNo, info.typeId, ref usersuppid); //GetSysOpenStatus(userId, chanelNo, info.typeId, 1);
                break;
            }
            //如果网银数据库
            if (usersuppid > -1)
            {
                info.supplier = usersuppid;
            }
            /*用户通道状态 只有系统通道状态为开启时用户的设置才有效*/
            if (open == 1)
            {
                open = GetUserOpenStatus(userId, chanelNo, info.typeId, 1);
            }
            info.isOpen = open;

            return(info);
        }
コード例 #12
0
 // Start is called before the first frame update
 void Start()
 {
     randomController = GameObject.Find("Randomnumber_OBJ").GetComponent <RandomController>();
     countScene       = GameObject.Find("CountScene").GetComponent <CountScene>();
     nameController   = GameObject.Find("NameObj").GetComponent <NameController>();
 }