\r
#region [ 結果の計算 ]\r
//---------------------\r
- for( int j = 0; j < 3; j++ )\r
+ for( int i = 0; i < 3; i++ )\r
{\r
- this.nランク値[ j ] = -1;\r
- if( ( ( ( j != 0 ) || ( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) ) && ( ( j != 1 ) || CDTXMania.DTX.bチップがある.Guitar ) ) && ( ( j != 2 ) || CDTXMania.DTX.bチップがある.Bass ) )\r
+ this.nランク値[ i ] = -1;\r
+ if ( ( ( ( i != 0 ) || ( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) ) && ( ( i != 1 ) || CDTXMania.DTX.bチップがある.Guitar ) ) && ( ( i != 2 ) || CDTXMania.DTX.bチップがある.Bass ) )\r
{\r
- CScoreIni.C演奏記録 part = this.st演奏記録[ j ];\r
+ CScoreIni.C演奏記録 part = this.st演奏記録[ i ];\r
bool bIsAutoPlay = true;\r
- switch( j )\r
+ switch( i )\r
{\r
case 0:\r
bIsAutoPlay = CDTXMania.ConfigIni.bドラムが全部オートプレイである;\r
bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay.Bass;\r
break;\r
}\r
- this.fPerfect率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPerfect数 ) / ( (float) part.n全チップ数 ) );\r
- this.fGreat率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGreat数 ) / ( (float) part.n全チップ数 ) );\r
- this.fGood率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGood数 ) / ( (float) part.n全チップ数 ) );\r
- this.fPoor率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPoor数 ) / ( (float) part.n全チップ数 ) );\r
- this.fMiss率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nMiss数 ) / ( (float) part.n全チップ数 ) );\r
- this.bオート[ j ] = bIsAutoPlay; // #23596 10.11.16 add ikanick そのパートがオートなら1\r
+ this.fPerfect率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPerfect数 ) / ( (float) part.n全チップ数 ) );\r
+ this.fGreat率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGreat数 ) / ( (float) part.n全チップ数 ) );\r
+ this.fGood率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGood数 ) / ( (float) part.n全チップ数 ) );\r
+ this.fPoor率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPoor数 ) / ( (float) part.n全チップ数 ) );\r
+ this.fMiss率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nMiss数 ) / ( (float) part.n全チップ数 ) );\r
+ this.bオート[ i ] = bIsAutoPlay; // #23596 10.11.16 add ikanick そのパートがオートなら1\r
// 10.11.17 change (int to bool) ikanick\r
- this.nランク値[ j ] = CScoreIni.tランク値を計算して返す( part );\r
+ this.nランク値[ i ] = CScoreIni.tランク値を計算して返す( part );\r
+//Debug.WriteLine( "rank[" + i + "]=" + this.nランク値[ i ] );\r
+//if ( this.nランク値[ i ] != -1 )\r
+//{\r
+// this.n総合ランク値 = Math.Min( this.n総合ランク値, this.nランク値[ i ] );\r
+//}\r
}\r
}\r
this.n総合ランク値 = CScoreIni.t総合ランク値を計算して返す( this.st演奏記録.Drums, this.st演奏記録.Guitar, this.st演奏記録.Bass );\r
\r
bool[] b今までにフルコンボしたことがある = new bool[] { false, false, false };\r
\r
- for( int k = 0; k < 3; k++ )\r
+ for( int i = 0; i < 3; i++ )\r
{\r
// フルコンボチェックならびに新記録ランクチェックは、ini.Record[] が、スコアチェックや演奏型スキルチェックの IF 内で書き直されてしまうよりも前に行う。(2010.9.10)\r
\r
- b今までにフルコンボしたことがある[ k ] = ini.stセクション[ k * 2 ].bフルコンボである | ini.stセクション[ k * 2 + 1 ].bフルコンボである;\r
-\r
- if( this.nランク値[ k ] <= CScoreIni.tランク値を計算して返す( ini.stセクション[ ( k * 2 ) + 1 ] ) )\r
+ b今までにフルコンボしたことがある[ i ] = ini.stセクション[ i * 2 ].bフルコンボである | ini.stセクション[ i * 2 + 1 ].bフルコンボである;\r
+\r
+ // if( this.nランク値[ i ] <= CScoreIni.tランク値を計算して返す( ini.stセクション[ ( i * 2 ) + 1 ] ) )\r
+ // {\r
+ // this.b新記録ランク[ i ] = true;\r
+ // }\r
+ // 上記の条件だと[HiSkill.***]でのランクしかチェックしていないので、BestRankと比較するよう変更\r
+ if ( this.nランク値[ i ] >= 0 && ini.stファイル.BestRank[ i ] > this.nランク値[ i ] ) // #24459 2011.3.1 yyagi update BestRank\r
{\r
- this.b新記録ランク[ k ] = true;\r
+ this.b新記録ランク[ i ] = true;\r
+ ini.stファイル.BestRank[ i ] = this.nランク値[ i ];\r
}\r
\r
// 新記録スコアチェック\r
- if( this.st演奏記録[ k ].nスコア > ini.stセクション[ k * 2 ].nスコア )\r
+ if( this.st演奏記録[ i ].nスコア > ini.stセクション[ i * 2 ].nスコア )\r
{\r
- this.b新記録スコア[ k ] = true;\r
- ini.stセクション[ k * 2 ] = this.st演奏記録[ k ];\r
+ this.b新記録スコア[ i ] = true;\r
+ ini.stセクション[ i * 2 ] = this.st演奏記録[ i ];\r
}\r
\r
// 新記録スキルチェック\r
- if (this.st演奏記録[k].db演奏型スキル値 > ini.stセクション[(k * 2) + 1].db演奏型スキル値)\r
+ if (this.st演奏記録[i].db演奏型スキル値 > ini.stセクション[(i * 2) + 1].db演奏型スキル値)\r
{\r
- this.b新記録スキル[ k ] = true;\r
- ini.stセクション[(k * 2) + 1] = this.st演奏記録[ k ];\r
+ this.b新記録スキル[ i ] = true;\r
+ ini.stセクション[(i * 2) + 1] = this.st演奏記録[ i ];\r
}\r
// ラストプレイ #23595 2011.1.9 ikanick\r
// オートじゃなければプレイ結果を書き込む\r
- if (this.bオート[ k ] == false) {\r
- ini.stセクション[k + 6] = this.st演奏記録[ k ];\r
+ if (this.bオート[ i ] == false) {\r
+ ini.stセクション[i + 6] = this.st演奏記録[ i ];\r
}\r
\r
// #23596 10.11.16 add ikanick オートじゃないならクリア回数を1増やす\r
- // 10.11.17 change (nオート to bオート)\r
- // add default..throw ikanick\r
- if (this.bオート[ k ] == false)\r
+ // 11.02.05 bオート to t更新条件を取得する use ikanick\r
+ bool[] b更新が必要か否か = new bool[ 3 ];\r
+ CScoreIni.t更新条件を取得する( out b更新が必要か否か[ 0 ], out b更新が必要か否か[ 1 ], out b更新が必要か否か[ 2 ] );\r
+\r
+ if (b更新が必要か否か[ i ])\r
{\r
- switch ( k )\r
+ switch ( i )\r
{\r
case 0:\r
ini.stファイル.ClearCountDrums++;\r
//---------------------\r
#endregion\r
\r
+ #region [ リザルト画面への演奏回数の更新 #24281 2011.1.30 yyagi]\r
+ this.n演奏回数.Drums = ini.stファイル.PlayCountDrums;\r
+ this.n演奏回数.Guitar = ini.stファイル.PlayCountGuitar;\r
+ this.n演奏回数.Bass = ini.stファイル.PlayCountBass;\r
+ #endregion\r
#region [ 選曲画面の譜面情報の更新 ]\r
//---------------------\r
if( !CDTXMania.bコンパクトモード )\r