// 倒したオニの数を追加. 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); }
// 追加被击倒的怪物数量 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); }
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(); } }
//玩家失败时的处理 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; }
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); }
//追加被击倒的怪物数量 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); }
/// <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); }