• R/O
  • HTTP
  • SSH
  • HTTPS

CsWin10Desktop3: Commit

Visual C# 7.0, Windows10 Desktop App


Commit MetaInfo

Revision95b9837c822f71f20200abba2d8c6df81ec13515 (tree)
Zeit2017-04-17 15:50:14
Autorくまかみ工房 <kumakamikoubou@gmai...>
Commiterくまかみ工房

Log Message

シンバルフリーオプションを実装。

このオプションを有効にすると、LeftCrash, RightCrash, Ride, RideCup, China, Splash, HiHatClose, HiHatHalfOpen, HiHatOpen について、どの入力でもどのチップにヒットできるようになる。(HiHatFootは対象外。)

Ändern Zusammenfassung

Diff

--- a/StrokeStyleT/ステージ/演奏/演奏ステージ.cs
+++ b/StrokeStyleT/ステージ/演奏/演奏ステージ.cs
@@ -927,9 +927,8 @@ namespace SST.ステージ.演奏
927927
928928 var オプション設定 = App.ユーザ管理.選択されているユーザ.オプション設定;
929929 var 対応表 = オプション設定.ドラムとチップと入力の対応表.対応表[ chip.チップ種別 ];
930- var AutoPlay = オプション設定.AutoPlay[ 対応表.AutoPlay種別 ];
931- var ヒット判定バーとの時間の絶対値sec = Math.Abs( ヒット判定バーとの時間sec );
932-
930+ bool AutoPlay = オプション設定.AutoPlay[ 対応表.AutoPlay種別 ];
931+ double ヒット判定バーとの時間の絶対値sec = Math.Abs( ヒット判定バーとの時間sec );
933932 bool チップはヒット済みである = chip.ヒット済みである;
934933 bool チップはMISSエリアに達している = ( ヒット判定バーとの時間sec > オプション設定.最大ヒット距離sec[ ヒットランク種別.POOR ] );
935934 bool チップはヒット可能エリアにある = ( ヒット判定バーとの時間sec >= -( オプション設定.最大ヒット距離sec[ ヒットランク種別.POOR ] ) && !チップはMISSエリアに達している );
@@ -938,22 +937,35 @@ namespace SST.ステージ.演奏
938937 return;
939938
940939 // チップにヒットする入力を探す。
940+ var ヒット入力 = App.入力管理.ポーリング結果.FirstOrDefault( ( 入力 ) => {
941+
942+ if( !( 入力.InputEvent.押された ) )
943+ return false; // 押下入力じゃない。
944+
945+ if( 処理済み入力.Contains( 入力 ) )
946+ return false; // すでに今回のターンで処理済み(=処理済み入力リストに追加済み)。
947+
948+ if( 対応表.シンバルフリーの対象 && オプション設定.シンバルフリー )
949+ {
950+ // (A) シンバルフリーの対象チップであり、かつシンバルフリーが ON である場合
951+ var 入力の対応表 = オプション設定.ドラムとチップと入力の対応表.対応表.FirstOrDefault( ( kvp ) => ( kvp.Value.ドラム入力種別 == 入力.Type ) ).Value; // 見つからなきゃバグだ
952+ if( !( 入力の対応表.シンバルフリーの対象 ) )
953+ return false; // この入力はシンバルフリーの対象ではない。
954+ }
955+ else
956+ {
957+ // (B) シンバルフリーの対象ではないチップ、またはシンバルフリーが OFF である場合
958+ if( 対応表.ドラム入力種別 != 入力.Type )
959+ return false; // チップに対応している入力じゃない。
960+ }
941961
942- // todo: シンバルフリーを実装する。
943- var ヒット入力 = App.入力管理.ポーリング結果.FirstOrDefault( ( 入力 ) =>
944- ( 入力.InputEvent.押された ) &&
945- ( 対応表.ドラム入力種別 == 入力.Type ) &&
946- !( 処理済み入力.Contains( 入力 ) )
947- );
962+ return true; // この 入力 はこの chip にヒットしている。
963+ });
948964
949965 if( null == ヒット入力 )
950- {
951966 return;
952- }
953- else
954- {
955- 処理済み入力.Add( ヒット入力 );
956- }
967+
968+ 処理済み入力.Add( ヒット入力 );
957969
958970 // ヒットランクを判定する。
959971
Binary files a/StrokeStyleT/設定/★ドラムとチップと入力の対応表.xlsx and b/StrokeStyleT/設定/★ドラムとチップと入力の対応表.xlsx differ
--- a/StrokeStyleT/設定/オプション設定.cs
+++ b/StrokeStyleT/設定/オプション設定.cs
@@ -52,6 +52,13 @@ namespace SST.設定
5252 [DataMember]
5353 public 動画表示パターン種別 動画表示パターン種別 { get; set; }
5454
55+ /// <summary>
56+ /// true なら、LeftCrash・RightCrash・Ride・China・Splash・HiHat(Close,Open,Foot)の入力としての区別がなくなり、
57+ /// いずれの入力でもいずれのチップをヒットできるようになる。
58+ /// </summary>
59+ [DataMember]
60+ public bool シンバルフリー { get; set; }
61+
5562 public ドラムとチップと入力の対応表 ドラムとチップと入力の対応表
5663 {
5764 get;
@@ -175,6 +182,7 @@ namespace SST.設定
175182
176183 this.譜面スクロール速度の倍率 = 1.0;
177184 this.動画表示パターン種別 = 動画表示パターン種別.中央表示;
185+ this.シンバルフリー = false;
178186 }
179187 }
180188
--- a/StrokeStyleT/設定/ドラムとチップと入力の対応表.cs
+++ b/StrokeStyleT/設定/ドラムとチップと入力の対応表.cs
@@ -60,6 +60,8 @@ namespace SST.設定
6060 public bool MISS判定 { get; set; }
6161 }
6262 public ColumnAutoPlayOFF AutoPlayOFF { get; set; }
63+
64+ public bool シンバルフリーの対象 { get; set; }
6365 }
6466
6567 /// <summary>
@@ -111,6 +113,7 @@ namespace SST.設定
111113 },
112114 MISS判定 = false,
113115 },
116+ シンバルフリーの対象 = false,
114117 },
115118 //----------------
116119 #endregion
@@ -146,6 +149,7 @@ namespace SST.設定
146149 },
147150 MISS判定 = true,
148151 },
152+ シンバルフリーの対象 = true,
149153 },
150154 //----------------
151155 #endregion
@@ -181,6 +185,7 @@ namespace SST.設定
181185 },
182186 MISS判定 = true,
183187 },
188+ シンバルフリーの対象 = true,
184189 },
185190 //----------------
186191 #endregion
@@ -216,6 +221,7 @@ namespace SST.設定
216221 },
217222 MISS判定 = true,
218223 },
224+ シンバルフリーの対象 = true,
219225 },
220226 //----------------
221227 #endregion
@@ -251,6 +257,7 @@ namespace SST.設定
251257 },
252258 MISS判定 = true,
253259 },
260+ シンバルフリーの対象 = true,
254261 },
255262 //----------------
256263 #endregion
@@ -286,6 +293,7 @@ namespace SST.設定
286293 },
287294 MISS判定 = true,
288295 },
296+ シンバルフリーの対象 = true,
289297 },
290298 //----------------
291299 #endregion
@@ -321,6 +329,7 @@ namespace SST.設定
321329 },
322330 MISS判定 = true,
323331 },
332+ シンバルフリーの対象 = true,
324333 },
325334 //----------------
326335 #endregion
@@ -356,6 +365,7 @@ namespace SST.設定
356365 },
357366 MISS判定 = true,
358367 },
368+ シンバルフリーの対象 = true,
359369 },
360370 //----------------
361371 #endregion
@@ -391,6 +401,7 @@ namespace SST.設定
391401 },
392402 MISS判定 = true,
393403 },
404+ シンバルフリーの対象 = true,
394405 },
395406 //----------------
396407 #endregion
@@ -426,6 +437,7 @@ namespace SST.設定
426437 },
427438 MISS判定 = false,
428439 },
440+ シンバルフリーの対象 = false,
429441 },
430442 //----------------
431443 #endregion
@@ -461,6 +473,7 @@ namespace SST.設定
461473 },
462474 MISS判定 = true,
463475 },
476+ シンバルフリーの対象 = false,
464477 },
465478 //----------------
466479 #endregion
@@ -496,6 +509,7 @@ namespace SST.設定
496509 },
497510 MISS判定 = true,
498511 },
512+ シンバルフリーの対象 = false,
499513 },
500514 //----------------
501515 #endregion
@@ -531,6 +545,7 @@ namespace SST.設定
531545 },
532546 MISS判定 = true,
533547 },
548+ シンバルフリーの対象 = false,
534549 },
535550 //----------------
536551 #endregion
@@ -566,6 +581,7 @@ namespace SST.設定
566581 },
567582 MISS判定 = false,
568583 },
584+ シンバルフリーの対象 = false,
569585 },
570586 //----------------
571587 #endregion
@@ -601,6 +617,7 @@ namespace SST.設定
601617 },
602618 MISS判定 = true,
603619 },
620+ シンバルフリーの対象 = false,
604621 },
605622 //----------------
606623 #endregion
@@ -636,6 +653,7 @@ namespace SST.設定
636653 },
637654 MISS判定 = true,
638655 },
656+ シンバルフリーの対象 = false,
639657 },
640658 //----------------
641659 #endregion
@@ -671,6 +689,7 @@ namespace SST.設定
671689 },
672690 MISS判定 = true,
673691 },
692+ シンバルフリーの対象 = false,
674693 },
675694 //----------------
676695 #endregion
@@ -706,6 +725,7 @@ namespace SST.設定
706725 },
707726 MISS判定 = true,
708727 },
728+ シンバルフリーの対象 = false,
709729 },
710730 //----------------
711731 #endregion
@@ -741,6 +761,7 @@ namespace SST.設定
741761 },
742762 MISS判定 = true,
743763 },
764+ シンバルフリーの対象 = false,
744765 },
745766 //----------------
746767 #endregion
@@ -776,6 +797,7 @@ namespace SST.設定
776797 },
777798 MISS判定 = true,
778799 },
800+ シンバルフリーの対象 = false,
779801 },
780802 //----------------
781803 #endregion
@@ -811,6 +833,7 @@ namespace SST.設定
811833 },
812834 MISS判定 = true,
813835 },
836+ シンバルフリーの対象 = false,
814837 },
815838 //----------------
816839 #endregion
@@ -846,6 +869,7 @@ namespace SST.設定
846869 },
847870 MISS判定 = true,
848871 },
872+ シンバルフリーの対象 = true,
849873 },
850874 //----------------
851875 #endregion
@@ -881,6 +905,7 @@ namespace SST.設定
881905 },
882906 MISS判定 = false,
883907 },
908+ シンバルフリーの対象 = false,
884909 },
885910 //----------------
886911 #endregion
@@ -916,6 +941,7 @@ namespace SST.設定
916941 },
917942 MISS判定 = false,
918943 },
944+ シンバルフリーの対象 = false,
919945 },
920946 //----------------
921947 #endregion
@@ -951,6 +977,7 @@ namespace SST.設定
951977 },
952978 MISS判定 = false,
953979 },
980+ シンバルフリーの対象 = false,
954981 },
955982 //----------------
956983 #endregion
@@ -986,6 +1013,7 @@ namespace SST.設定
9861013 },
9871014 MISS判定 = false,
9881015 },
1016+ シンバルフリーの対象 = false,
9891017 },
9901018 //----------------
9911019 #endregion
@@ -1021,6 +1049,7 @@ namespace SST.設定
10211049 },
10221050 MISS判定 = false,
10231051 },
1052+ シンバルフリーの対象 = false,
10241053 },
10251054 //----------------
10261055 #endregion
@@ -1056,6 +1085,7 @@ namespace SST.設定
10561085 },
10571086 MISS判定 = false,
10581087 },
1088+ シンバルフリーの対象 = false,
10591089 },
10601090 //----------------
10611091 #endregion
@@ -1091,6 +1121,7 @@ namespace SST.設定
10911121 },
10921122 MISS判定 = false,
10931123 },
1124+ シンバルフリーの対象 = false,
10941125 },
10951126 //----------------
10961127 #endregion
@@ -1126,6 +1157,7 @@ namespace SST.設定
11261157 },
11271158 MISS判定 = false,
11281159 },
1160+ シンバルフリーの対象 = false,
11291161 },
11301162 //----------------
11311163 #endregion
Show on old repository browser