private void onDeleteBuyo(object sender, DeleteBuyoInfo info) { levelManager.DeleteCountUp(); int level = levelManager.Value; gameObject.GetComponent <BuyoDeleteScoring>().buyoDeleteScoring(level, info); }
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); }
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); }