| 1234567891011121314151617181920212223242526272829303132 |
- namespace Day20;
- public class FlipFlopModule : Module
- {
- private bool _state = false;
-
- public FlipFlopModule(string name)
- : base(name)
- {
- }
-
- public override string GetState()
- {
- return _state ? "1" : "0";
- }
- public override void Reset()
- {
- _state = false;
- }
- public override IEnumerable<Pulse> Process(Pulse p)
- {
- if (p.Value == false)
- {
- _state = !_state;
- return _outputs.Select(o => new Pulse(Name, o.Name, _state));
- }
- return Enumerable.Empty<Pulse>();
- }
- }
|