示例#1
0
        private void onDeleteBuyo(object sender, DeleteBuyoInfo info)
        {
            levelManager.DeleteCountUp();
            int level = levelManager.Value;

            gameObject.GetComponent <BuyoDeleteScoring>().buyoDeleteScoring(level, info);
        }
示例#2
0
        public void buyoDeleteScoring(int level, DeleteBuyoInfo info)
        {
            var baseScore     = 200.0f;
            var levelsAmount  = 1.0f + 0.15f * Mathf.Pow(level, 1.05F);
            var combosAmount  = 1.5 * Mathf.Pow(info.ComboCount, 2f);
            var objectsAmount = Mathf.Pow((info.ObjectCount - 3), 0.25f);
            var amount        = baseScore * levelsAmount * combosAmount * objectsAmount;

            Debug.Log("Score: " + amount);
            score.Increase((int)amount);
        }
示例#3
0
        public int Calculate(DeleteBuyoInfo info, GameMode transferTo)
        {
            // 0.2 * ( ObjectCount ^ 1.5 - 6 )
            var objectAmount = 0.2f * (Mathf.Pow(info.ObjectCount, 1.5f) - 6);
            // 0.6 * ComboCount ^ 1.25
            var comboAmount = 0.6f * Mathf.Pow(info.ComboCount, 1.25f);
            var amount      = (objectAmount + comboAmount) * marginCoefficient;

            // 対Buyoでは1.5倍
            if (transferTo == GameMode.BuyoBuyo)
            {
                amount *= 1.5f;
            }

            Debug.Log($"Objects: {info.ObjectCount}, Combos: {info.ComboCount} ===> Amount: {amount}");
            return((int)amount);
        }