示例#1
0
    // 倒したオニの数を追加.
    public void     AddDefeatNum(int num)
    {
        this.oni_group_defeat_num++;
        this.oni_group_complite++;
        this.result.oni_defeat_num += num;

        // ボタンをクリックしてからの時間で評価を決める
        // (クリックしてから攻撃が当たるまでの時間が短い=ぎりぎりまでひきつけてから斬った).

        this.attack_time = this.player.GetComponent <PlayerControl>().GetAttackTimer();

        if (this.evaluation == EVALUATION.MISS)
        {
            // ミスした直後(のろのろ運転中)は、OKAY しか出ない.
            this.evaluation = EVALUATION.OKAY;
        }
        else
        {
            if (this.attack_time < ATTACK_TIME_GREAT)
            {
                this.evaluation = EVALUATION.GREAT;
            }
            else if (this.attack_time < ATTACK_TIME_GOOD)
            {
                this.evaluation = EVALUATION.GOOD;
            }
            else
            {
                this.evaluation = EVALUATION.OKAY;
            }
        }

        if (SceneControl.IS_AUTO_ATTACK)
        {
            this.evaluation = this.evaluation_auto_attack;
        }

        this.result.eval_count[(int)this.evaluation] += num;

        // 得点計算
        float[] score_list = { this.eval_rate_okay, this.eval_rate_good, this.eval_rate_great, 0 };
        this.result.score_max += num * this.eval_rate_great;
        this.result.score     += num * score_list[(int)this.evaluation];

        this.result_control.addOniDefeatScore(num);
        this.result_control.addEvaluationScore((int)this.evaluation);
    }
示例#2
0
    // 追加被击倒的怪物数量
    public void     AddDefeatNum(int num)
    {
        this.oni_group_defeat_num++;
        this.oni_group_complite++;
        this.result.oni_defeat_num += num;

        // 通过点击按钮后结果的时间来决定评价的好坏
        // (点击后到攻击命中的时间短=在非常精确的时刻斩杀了怪物)

        this.attack_time = this.player.GetComponent <PlayerControl>().GetAttackTimer();

        if (this.evaluation == EVALUATION.MISS)
        {
            // 失败(慢吞吞地运行中)后,只会出现OKAY
            this.evaluation = EVALUATION.OKAY;
        }
        else
        {
            if (this.attack_time < ATTACK_TIME_GREAT)
            {
                this.evaluation = EVALUATION.GREAT;
            }
            else if (this.attack_time < ATTACK_TIME_GOOD)
            {
                this.evaluation = EVALUATION.GOOD;
            }
            else
            {
                this.evaluation = EVALUATION.OKAY;
            }
        }

        if (SceneControl.IS_AUTO_ATTACK)
        {
            this.evaluation = this.evaluation_auto_attack;
        }

        this.result.eval_count[(int)this.evaluation] += num;

        // 计算得分
        float[] score_list = { this.eval_rate_okay, this.eval_rate_good, this.eval_rate_great, 0 };
        this.result.score_max += num * this.eval_rate_great;
        this.result.score     += num * score_list[(int)this.evaluation];

        this.result_control.addOniDefeatScore(num);
        this.result_control.addEvaluationScore((int)this.evaluation);
    }
示例#3
0
    public void OnPlayerMissed()
    {
        this.oni_group_miss_num++;
        this.oni_group_complite++;
        this.oni_group_appear_max -= oni_group_penalty;
        this.evaluation            = EVALUATION.MISS;

        this.level_control.OnPlayerMissed();

        this.result.eval_count[(int)this.evaluation]++;

        GameObject[] oni_groups = GameObject.FindGameObjectsWithTag("OniGroup");

        foreach (var oni_group in oni_groups)
        {
            this.oni_group_num--;
            oni_group.GetComponent <OniGroupControl>().beginLeave();
        }
    }
示例#4
0
    //玩家失败时的处理
    public void OnPlayerMissed()
    {
        this.oni_group_miss_num++;
        this.oni_group_complite++;
        this.oni_group_appear_max -= ONI_GROUP_PENALTY;

        this.level_control.OnPlayerMissed();

        this.evaluation = EVALUATION.MISS;

        this.result.eval_count[(int)this.evaluation]++;

        GameObject[] oni_groups = GameObject.FindGameObjectsWithTag("OniGroup");

        foreach (var oni_group in oni_groups)
        {
            this.oni_group_num--;
            oni_group.GetComponent <OniGroupControl>().BeginLeave();
        }

        this.next_step = Step.Last_run;
    }
示例#5
0
    public void AddDefeatNum(int num)
    {
        this.oni_group_defeat_num++;
        this.oni_group_complite++;
        this.result.oni_defeat_num += num;

        this.attack_time = this.player.GetComponent <PlayerControl>().GetAttackTimer();

        if (this.evaluation == EVALUATION.MISS)
        {
            this.evaluation = EVALUATION.OKAY;
        }
        else
        {
            if (this.attack_time < ATTACK_TIME_GREAT)
            {
                this.evaluation = EVALUATION.GREAT;
            }
            else if (this.attack_time < ATTACK_TIME_GOOD)
            {
                this.evaluation = EVALUATION.GOOD;
            }
            else
            {
                this.evaluation = EVALUATION.OKAY;
            }
        }

        this.result.eval_count[(int)this.evaluation] += num;

        float[] score_list = { this.eval_rate_okay, this.eval_rate_good, this.eval_rate_great, 0 };
        this.result.score_max += num * this.eval_rate_great;             // 理论可以获得的最大分数
        this.result.score     += num * score_list[(int)this.evaluation]; // 实际获得的分数

        // Rank 的计算
        this.result_control.addOniDefeatScore(num);
        this.result_control.addEvaluationScore(this.evaluation);
    }
示例#6
0
    //追加被击倒的怪物数量
    public void AddDefeatNum(int num)
    {
        this.oni_group_defeat_num++;
        this.oni_group_complite++;
        this.result.oni_defeat_num += num;

        this.attack_time = this.player.GetComponent <PlayerControl>().GetAttackTimer();

        if (this.evaluation == EVALUATION.MISS)
        {
            this.evaluation = EVALUATION.OKEY;
        }
        else
        {
            if (this.attack_time < ATTACK_TIME_GREAT)
            {
                this.evaluation = EVALUATION.GREAT;
            }
            else if (this.attack_time < ATTACK_TIME_GOOD)
            {
                this.evaluation = EVALUATION.GOOD;
            }
            else
            {
                this.evaluation = EVALUATION.OKEY;
            }
        }

        //计算得分
        //togo
        //float[] score_list = { this.eval_rate_okey, this.eval_rate_good, this.eval_rate_great, 0 };
        //this.result.score_max += num * this.eval_rate_great;
        //this.result.score += num * score_list[(int)this.evaluation];

        scoreControl.AddScore(num);
    }
示例#7
0
    /// <summary>
    /// 评估斩击得分
    /// </summary>
    /// <param name="count">怪物数量</param>
    /// <param name="attackTime">攻击时机</param>
    public EVALUATION Scored(int count, float attackTime)
    {
        if (attackTime < ATTACK_TIME_GREAT)
        {
            evaluation = EVALUATION.GREAT;
            greatCount++;
            timer += addTime;    // great斩击可以增加时间
        }
        else if (attackTime < ATTACK_TIME_GOOD)
        {
            evaluation = EVALUATION.GOOD;
            okayCount++;
        }
        else
        {
            evaluation = EVALUATION.OKAY;
            okayCount++;
        }
        score += count;

        guiControl.DrawEvaluation(evaluation);
        guiControl.SetScore(score);
        return(evaluation);
    }
    // プレイヤーがミスした時の処理.
    public void OnPlayerMissed()
    {
        this.oni_group_miss_num++;
        this.oni_group_complite++;
        this.oni_group_appear_max -= oni_group_penalty;

        this.level_control.OnPlayerMissed();

        this.evaluation = EVALUATION.MISS;

        this.result.eval_count[(int)this.evaluation]++;

        // 画面上のグループすべてを退場させる.

        GameObject[] oni_groups = GameObject.FindGameObjectsWithTag("OniGroup");

        foreach(var oni_group in oni_groups) {
            this.oni_group_num--;
            oni_group.GetComponent<OniGroupControl>().beginLeave();
        }
    }
    // 倒したオニの数を追加.
    public void AddDefeatNum(int num)
    {
        this.oni_group_defeat_num++;
        this.oni_group_complite++;
        this.result.oni_defeat_num += num;

        // ボタンをクリックしてからの時間で評価を決める
        // (クリックしてから攻撃が当たるまでの時間が短い=ぎりぎりまでひきつけてから斬った).

        this.attack_time = this.player.GetComponent<PlayerControl>().GetAttackTimer();

        if(this.evaluation == EVALUATION.MISS) {

            // ミスした直後(のろのろ運転中)は、OKAY しか出ない.
            this.evaluation = EVALUATION.OKAY;

        } else {

            if(this.attack_time < ATTACK_TIME_GREAT) {

                this.evaluation = EVALUATION.GREAT;

            } else if(this.attack_time < ATTACK_TIME_GOOD) {

                this.evaluation = EVALUATION.GOOD;

            } else {

                this.evaluation = EVALUATION.OKAY;
            }
        }

        if(SceneControl.IS_AUTO_ATTACK) {

            this.evaluation = this.evaluation_auto_attack;
        }

        this.result.eval_count[(int)this.evaluation] += num;

        // 得点計算
        float[] score_list = { this.eval_rate_okay, this.eval_rate_good, this.eval_rate_great, 0 };
        this.result.score_max += num * this.eval_rate_great;
        this.result.score += num * score_list[(int)this.evaluation];

        this.result_control.addOniDefeatScore(num);
        this.result_control.addEvaluationScore((int)this.evaluation);
    }