void IИгра.ФигуруПовернуть() { if (Фигура == null) { return; } lock (SyncRoot) { var повёрнутаяФигура = Фигура.Повернуть(); var фигураСдвинутаяВлево = повёрнутаяФигура.СдвинутьВлево(); var фигураСдвинутаяВправо = повёрнутаяФигура.СдвинутьВправо(); var фигураСдвинутаяВниз = повёрнутаяФигура.СдвинутьВниз(); var фигураСдвинутаяВниз2 = фигураСдвинутаяВниз.СдвинутьВниз(); var возможныеФигуры = new[] { повёрнутаяФигура, фигураСдвинутаяВлево, фигураСдвинутаяВправо, фигураСдвинутаяВниз, фигураСдвинутаяВниз2, }; возможныеФигуры.FirstOrDefault(фигура => ФигуруСменить(фигура)); } }