public new void Move( Elevator Elevator ) { bool breakout = false; while( !breakout ) { if( Elevator.ReachedHighestOrLowestFloor ) { Elevator.SwitchDirection(); } if( Elevator.ThereAreWishesOnThisFloor ) { breakout = true; } if( Elevator.ThereAreWishesInMyDirection ) { switch( Elevator.Direction ) { case Defaults.Direction.Upward: { Elevator.CurrentFloor++; } break; case Defaults.Direction.Downward: { Elevator.CurrentFloor--; } break; }// switch }// if }// while Elevator.SetState( Defaults.State.FixedClosed ); }
public new void Move( Elevator Elevator ) { if( Elevator.ThereAreWishesOnThisFloor ) Elevator.SetState( Defaults.State.FixedOpen ); else Elevator.SetState( Defaults.State.Moving ); }
public new void Move( Elevator Elevator ) { bool breakOut = false; do { // 3 sec warten auf Button5 Defaults.ManualResetEvent.WaitOne( 3000 ); switch( Elevator.UI.PassengersIO ) { case Defaults.MoreOrLess.More: Elevator.Passengers++; break; case Defaults.MoreOrLess.Less: Elevator.Passengers--; break; case Defaults.MoreOrLess.Neither: breakOut = true; break; } Elevator.UI.ResetPassengerIO(); // wieder Neither } while (!breakOut); if( Elevator.CheckForOverload() ) Elevator.SetState( Defaults.State.Overload ); if( Elevator.ReachedHighestOrLowestFloor || !Elevator.ThereAreWishesInMyDirection ) Elevator.SwitchDirection(); else Elevator.SetState( Defaults.State.FixedClosed ); }
public void Loop(Elevator elevator) { Syncronize.CloseDoor(); if( !elevator.ReachedEndOfShaft ) { if( elevator.FittingWishOnThisFloor ) { elevator.SetState( Defaults.State.FixedOpen ); return; } else if( !elevator.WishesInMyDirection && elevator.OppositeWishOnThisFloor ) { elevator.SetState( Defaults.State.FixedOpen ); return; } } else { elevator.SwitchDirection(); if( elevator.OppositeWishOnThisFloor || elevator.FittingWishOnThisFloor ) { elevator.SetState(Defaults.State.FixedOpen); return ; } } if( elevator.WishesInMyDirection ) { elevator.SetState( Defaults.State.Moving ); return; } //else if( elevator.OppositeWishOnThisFloor ) //{ // elevator.SwitchDirection(); // elevator.SetState( Defaults.State.FixedOpen ); // return; //} else if( elevator.WishesInMyOppositeDirection ) { elevator.SwitchDirection(); elevator.SetState( Defaults.State.Moving ); return; } else { elevator.TaskStatus = false; } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); UserInterface UI = new UserInterface(); Elevator Elevator = new Elevator(); Syncronize Sync = new Syncronize(ref Elevator, ref UI); Application.Run(UI); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); UserInterface UI = new UserInterface(); Application.Run(UI); Elevator Elevator = new Elevator(UI); while( true ) { Elevator.CurrentState.Move( Elevator ); } }
public void Loop( Elevator elevator ) { Syncronize.OpenDoor(); Syncronize.ResetDoorTimer(); Syncronize.EnablePassengerButtons(true); elevator.DeleteRequirementsHere(); if (!Syncronize.SyncPassengers()) Syncronize.ResetDoorTimer(); if (elevator.Passengers <= 0) Syncronize.EnablePassengerMinusButton(false); else Syncronize.EnablePassengerMinusButton(true); if (elevator.CheckForOverload()) { elevator.SetState(Defaults.State.Overload); Syncronize.StopDoorTimer(); } }
public void Move(Elevator Elevator) { }
public new void Move( Elevator Elevator ) { bool breakOut = false; do { // 3 sec warten auf Button Defaults.ManualResetEvent.WaitOne( 3000 ); switch( Elevator.UI.PassengersIO ) { case Defaults.MoreOrLess.More: Elevator.Passengers++; break; case Defaults.MoreOrLess.Less: Elevator.Passengers--; break; case Defaults.MoreOrLess.Neither: { } break; } Elevator.UI.ResetPassengerIO(); // wieder Neither if( !Elevator.CheckForOverload() ) breakOut = true; } while( !breakOut ); Elevator.SetState(Defaults.State.FixedClosed); }
public Syncronize(ref Elevator Elevator, ref UserInterface UI) { _elevator = Elevator; _ui = UI; _ui.CurrentPosition = Elevator.CurrentFloor; }
public void Loop(Elevator Elevator) { Syncronize.SyncPassengers(); if ( !Elevator.CheckForOverload() ) Elevator.SetState( Defaults.State.FixedOpen ); }
public void Loop(Elevator elevator) { if( elevator.ReachedEndOfShaft ) { elevator.SwitchDirection(); } if(elevator.FittingWishOnThisFloor) { elevator.SetState(Defaults.State.FixedClosed); return; } else if( elevator.WishesInMyDirection ) { switch( elevator.Direction ) { case Defaults.Direction.Upward: { elevator.CurrentFloor++; Syncronize.SyncCurrentFloor(); } break; case Defaults.Direction.Downward: { elevator.CurrentFloor--; Syncronize.SyncCurrentFloor(); } break; } Log.AddEntry("Aktuelle Etage:" + elevator.CurrentFloor.ToString()); Syncronize.ResetMoveTimer(); Syncronize.ShowDirection(); return; } else if( elevator.OppositeWishOnThisFloor ) { elevator.SwitchDirection(); elevator.SetState( Defaults.State.FixedClosed ); return; } }