亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#控制臺模擬電梯工作原理

2020-01-24 01:42:05
字體:
來源:轉載
供稿:網友

每天上下樓都是乘坐電梯的,就想電梯的工作原理是什么呢?于是自己寫了個控制臺程序來模擬一下電梯的工作原理!
采用面向對象的編程思想!將電梯拆解為兩部分;
第一部分就是每個樓層的控制器(每個樓層都有叫梯按鈕的哈,一個向上一個向下)
第二部分就電梯間了。電梯間里有樓層按鈕,你想上那個樓層就可以按哪個按鈕了!
技術難點:狀態刷新、命令順序、電梯運行

核心代碼一:

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Elevator{  /// <summary>  /// 樓層類,每個樓層有向上叫梯命令和向下叫梯命令  /// </summary>  public class Floor  {    Elevator elevator;    /// <summary>    /// 樓層號    /// </summary>    private int _iFloorNo;     public int IFloorNo    {      get { return _iFloorNo; }      set { _iFloorNo = value; }    }    /// <summary>    /// 上行需求    /// </summary>    private bool _boolUp = false;    /// <summary>    /// 下行需求    /// </summary>    private bool _boolDown = false;     private bool _boolStop = false;     public bool BoolStop    {      get { return _boolStop; }      set { _boolStop = value; }    }     #region 構造函數             public Floor(int f,Elevator e)    {      _iFloorNo = f;      elevator = e;    }     public Floor(int f)    {      _iFloorNo = f;    }     public Floor()    {    }    #endregion     /// <summary>    /// 獲取本層是否???,是否為命令層    /// </summary>    /// <returns>停靠true;過false;</returns>    public bool GetStatus()    {      return _boolDown || _boolUp;    }     /// <summary>    /// 上行返回1;下行返回-1;本層為目的地返回0;    /// </summary>    /// <returns></returns>    public int GetStatusFlag()    {      if (_boolDown)      {        return -1;      }      else if(_boolUp)      {        return 1;      }      else if(_boolStop)      {        return 0;      }      else      {        return -999;      }     }     /// <summary>    /// 上樓命令    /// </summary>    public void CommandUp()    {      _boolUp = true;      elevator.GoToCommandFloor();    }     /// <summary>    /// 下樓命令    /// </summary>    public void CommandDown()    {      _boolDown = true;      elevator.GoToCommandFloor();    }     /// <summary>    /// 樓層到達狀態刷新    /// </summary>    public void Refresh()    {      _boolUp = false;      _boolDown = false;      _boolStop = false;    }      /// <summary>    /// 樓層比較看樓層號    /// </summary>    /// <param name="floor"></param>    /// <returns></returns>    public int Compare(Floor floor)    {      int result = 1;      if (this._iFloorNo > floor._iFloorNo)      {        result = 1;      }      else if (this._iFloorNo < floor._iFloorNo)      {        result = -1;      }      else      {        result = 0;      }      return result;    }  }}

核心代碼二:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading; namespace Elevator{  /// <summary>  /// 電梯類,有樓層選擇方法  /// </summary>  public class Elevator  {    #region 屬性     /// <summary>    /// 當前樓層    /// </summary>    public Floor _floorCurrent ;    /// <summary>    /// 全部樓層    /// </summary>    public List<Floor> _floorAll = new List<Floor>();     #endregion     /// <summary>    /// 我想在所輸入參數樓層停止    /// </summary>    /// <param name="floor">想要停止的樓層</param>    public void CommandStop(Floor floor)    {      floor.BoolStop = true;      GoToTargetFloor();    }      /// <summary>    /// 電梯向上運行,運行到floor層    /// </summary>    /// <param name="floor"></param>    public void GoUp(Floor floor)    {      if (_floorCurrent.Compare(floor) < 0)      {      Thread.Sleep(300);      Console.WriteLine("上行:" + _floorCurrent.IFloorNo);      int index = _floorAll.IndexOf(_floorCurrent);      _floorCurrent = _floorAll[index + 1];      GoUp(floor);      }      else {        Thread.Sleep(500);        Reach(floor);      }    }     /// <summary>    /// 電梯向下運行    /// </summary>    public void GoDown(Floor floor)    {      if (_floorCurrent.Compare(floor) > 0)      {        Thread.Sleep(300);        Console.WriteLine("下行:" + _floorCurrent.IFloorNo);        int index = _floorAll.IndexOf(_floorCurrent);        _floorCurrent = _floorAll[index - 1];        GoDown(floor);      }      else {        Thread.Sleep(500);        Reach(floor);      }    }     /// <summary>    /// 前往命令層,循環列表是否有命令層    /// </summary>    public void GoToCommandFloor()    {      foreach (var item in _floorAll)      {        if (item.GetStatus())        {          if (_floorCurrent.Compare(item) < 0)          {            GoUp(item);          }          else if (_floorCurrent.Compare(item) > 0)          {            GoDown(item);          }        }      }    }     /// <summary>    /// 前往目標樓層    /// </summary>    public void GoToTargetFloor() {       foreach (var item in _floorAll)      {        if (item.GetStatusFlag()==0)        {          if (_floorCurrent.Compare(item) < 0)          {            GoUp(item);          }          else if (_floorCurrent.Compare(item) > 0)          {            GoDown(item);          }        }      }    }         /// <summary>    /// 到達樓層命令    /// </summary>    public void Reach(Floor f)    {      Console.WriteLine("電梯門打開,??繉樱?+f.IFloorNo);      f.Refresh();    }   }}

核心代碼三:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading; namespace Elevator{  class Program  {    static void Main(string[] args)    {       Elevator elevator = new Elevator();      List<Floor> lfloor = new List<Floor>();      Floor f1 = new Floor(1, elevator);      Floor f2 = new Floor(2, elevator);      Floor f3 = new Floor(3, elevator);      Floor f4 = new Floor(4, elevator);      Floor f5 = new Floor(5, elevator);      Floor f6 = new Floor(6, elevator);      Floor f7 = new Floor(7, elevator);      Floor f8 = new Floor(8, elevator);      Floor f9 = new Floor(9, elevator);      Floor f10 = new Floor(10, elevator);      lfloor.Add(f1);      lfloor.Add(f2);      lfloor.Add(f3);      lfloor.Add(f4);      lfloor.Add(f5);      lfloor.Add(f6);      lfloor.Add(f7);      lfloor.Add(f8);      lfloor.Add(f9);      lfloor.Add(f10);            elevator._floorAll = lfloor;      //設置當前樓層      elevator._floorCurrent = f1;      //2樓叫梯 想下樓      f2.CommandDown();      //目標樓層為1樓      elevator.CommandStop(f1);      //4樓叫梯      f4.CommandUp();      //目標樓層為8樓      elevator.CommandStop(f8);       Console.ReadLine();    }  }}

以上所述就是本文的全部內容了,希望對大家熟練掌握C#能夠有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美极品xxxx| 久久久久99精品久久久久| 国产噜噜噜噜噜久久久久久久久| 午夜精品三级视频福利| 国产精品国产三级国产专播精品人| 欧美激情视频网| 精品高清美女精品国产区| 欧美精品在线网站| 亚洲精品xxx| 91精品国产91久久| 92福利视频午夜1000合集在线观看| 国产在线视频2019最新视频| 欧美综合国产精品久久丁香| 中文字幕亚洲精品| 91精品国产高清久久久久久久久| 51精品在线观看| 5566日本婷婷色中文字幕97| 日韩精品中文字幕久久臀| 欧美日韩国产999| 亚洲激情自拍图| 日本最新高清不卡中文字幕| 日韩视频精品在线| 97在线视频免费播放| 日韩av在线免费播放| 国产91成人在在线播放| 欧美高清视频免费观看| 久99九色视频在线观看| 欧美激情视频一区二区三区不卡| 欧美中文在线观看| 亚洲精品国产免费| 激情亚洲一区二区三区四区| 不卡伊人av在线播放| …久久精品99久久香蕉国产| 久久精品99久久久香蕉| 精品一区二区三区电影| 国产精品自拍网| 国产精品一区二区三区毛片淫片| 伊人久久久久久久久久| 久久精品一本久久99精品| 日韩精品一区二区三区第95| 亚洲国产精品悠悠久久琪琪| 色噜噜久久综合伊人一本| 韩日欧美一区二区| 欧美日韩激情网| 国产精品日韩在线一区| 欧美老少配视频| 国内精品伊人久久| 国产精品美乳一区二区免费| 日韩av中文字幕在线播放| 日韩在线视频免费观看高清中文| 国产91网红主播在线观看| 992tv成人免费影院| 国产日韩欧美在线看| 久久精品视频一| 尤物九九久久国产精品的特点| 国产精品露脸av在线| 91欧美日韩一区| 91情侣偷在线精品国产| 国产视频亚洲视频| 久久久久北条麻妃免费看| 欧美一区深夜视频| 亚洲福利影片在线| 国产精品96久久久久久又黄又硬| 91色在线视频| 亚洲一级黄色片| 亚洲天堂男人天堂女人天堂| 日韩精品亚洲精品| 亚洲视频在线观看| 欧美日韩精品在线| 亚洲无线码在线一区观看| 亚洲一区二区日本| 精品亚洲精品福利线在观看| 欧美成人免费全部观看天天性色| 亚洲精品99久久久久中文字幕| 久久久精品久久| 国产精品青草久久久久福利99| 久久久免费电影| 国产91精品高潮白浆喷水| 欧美怡红院视频一区二区三区| 亚洲成人免费网站| 亚洲天堂av在线免费观看| 日韩精品www| 国产精品女主播视频| 久久精品色欧美aⅴ一区二区| 国产成人精彩在线视频九色| 97精品视频在线观看| 91在线观看免费网站| 欧美韩日一区二区| 亚洲人成电影在线观看天堂色| 亚洲国产私拍精品国模在线观看| 日韩久久精品成人| 欧美日韩国产页| 久久精品国产欧美激情| 国产一区av在线| 亚洲在线www| 青青久久aⅴ北条麻妃| 亚洲国产精品女人久久久| 亚洲精品av在线| 久久久久久中文字幕| 日韩三级影视基地| 国产精品美女主播| 美女福利精品视频| 国产精品视频专区| 91精品免费久久久久久久久| 91久久精品在线| 国产在线视频2019最新视频| 日韩精品极品在线观看播放免费视频| 欧美成人免费在线观看| 黑人巨大精品欧美一区二区| 午夜免费在线观看精品视频| 成人啪啪免费看| 亚洲激情久久久| 精品视频久久久| 色综合导航网站| 国产91在线播放精品91| 欧美极品少妇全裸体| 国产精品美女网站| 91精品久久久久久久久久久| 一区二区三区视频在线| 久久人人爽人人爽爽久久| 91av中文字幕| 久久99精品久久久久久噜噜| 日韩中文字幕第一页| 青青草国产精品一区二区| 欧美亚洲日本黄色| 日韩av成人在线观看| 欧美成年人视频网站欧美| 久久久午夜视频| 成人天堂噜噜噜| 97久久精品视频| 日韩免费精品视频| 国产不卡av在线免费观看| 78m国产成人精品视频| 日韩精品一二三四区| 欧美午夜性色大片在线观看| 国产色视频一区| 欧美激情精品久久久久久蜜臀| www.欧美精品一二三区| 国产日韩精品一区二区| 亚洲自拍在线观看| 亚洲国产精品资源| 91精品在线一区| 91精品视频观看| 538国产精品视频一区二区| 欧美裸体男粗大视频在线观看| 92看片淫黄大片欧美看国产片| 日韩暖暖在线视频| 国产免费一区二区三区在线能观看| 欧美成人免费在线视频| 亚洲欧洲黄色网| 日韩精品亚洲视频| 美日韩精品视频免费看| 日韩欧美视频一区二区三区| 精品久久久久久久久久久久久| 91精品久久久久久久久久久久久久| 国产精品视频精品视频| 成人免费淫片aa视频免费| 最新国产精品拍自在线播放| 亚洲欧美制服丝袜| 91色p视频在线| 日韩av在线免费播放| 亚洲精品98久久久久久中文字幕| 亚洲毛茸茸少妇高潮呻吟| 久久精品国产91精品亚洲|