using System.Collections.Generic; namespace Domain { public class KeyHistory { private readonly List _lastPresses = new(); private readonly List _desiredSequence; public KeyHistory(List desiredSequence) { _desiredSequence = desiredSequence; } public void KeyPressed(int key) => _lastPresses.Add(key); public void ClearPressed() => _lastPresses.Clear(); public bool ContainsSequence() { if (_lastPresses.Count < _desiredSequence.Count) return false; for (int i = 0; i < _lastPresses.Count; i++) { if (i >= _desiredSequence.Count) break; int keyPressed = _lastPresses[_lastPresses.Count - 1 - i]; int sequenceKey = _desiredSequence[_desiredSequence.Count - 1 - i]; if (keyPressed != sequenceKey) { return false; } } return true; } } }