// 色に関する役は一番効果が高いやつひとつだけ採用 private void CalculateColorSpecial(ScoreData score) { // レインボーALL判定 if (_colorList[(int)ColorType.Blue] && _colorList[(int)ColorType.Yellow] && _colorList[(int)ColorType.Red] && _colorList[(int)ColorType.Green] && _colorList[(int)ColorType.Orange] && _colorList[(int)ColorType.Indigo] && _colorList[(int)ColorType.Violet] && !_colorList[(int)ColorType.White] && !_colorList[(int)ColorType.Gray] && !_colorList[(int)ColorType.Black]) { score._colorSpecial = SpecialInfo.RainbowAll(); return; } // モノクロALL判定 if (!_colorList[(int)ColorType.Blue] && !_colorList[(int)ColorType.Yellow] && !_colorList[(int)ColorType.Red] && !_colorList[(int)ColorType.Green] && !_colorList[(int)ColorType.Orange] && !_colorList[(int)ColorType.Indigo] && !_colorList[(int)ColorType.Violet] && _colorList[(int)ColorType.White] && _colorList[(int)ColorType.Gray] && _colorList[(int)ColorType.Black]) { score._colorSpecial = SpecialInfo.MonochromeAll(); return; } // レインボー判定 if (_colorList[(int)ColorType.Blue] && _colorList[(int)ColorType.Yellow] && _colorList[(int)ColorType.Red] && _colorList[(int)ColorType.Green] && _colorList[(int)ColorType.Orange] && _colorList[(int)ColorType.Indigo] && _colorList[(int)ColorType.Violet]) { score._colorSpecial = SpecialInfo.Rainbow(); return; } // モノクロ判定 if (_colorList[(int)ColorType.White] && _colorList[(int)ColorType.Gray] && _colorList[(int)ColorType.Black]) { score._colorSpecial = SpecialInfo.Monochrome(); return; } // RGB判定 if (_colorList[(int)ColorType.Blue] && _colorList[(int)ColorType.Red] && _colorList[(int)ColorType.Green]) { score._colorSpecial = SpecialInfo.RGB(); return; } // 信号機判定 if ((_colorList[(int)ColorType.Blue] || _colorList[(int)ColorType.Green]) && _colorList[(int)ColorType.Yellow] && _colorList[(int)ColorType.Red]) { score._colorSpecial = SpecialInfo.TrafficLight(); return; } }