zoukankan      html  css  js  c++  java
  • C#编程

      程序写的有点繁杂,但大体功能出来的!

    效果图:

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Threading.Tasks;
      6 using System.Threading;
      7 
      8 /*
      9  * 空间名:TrafficLight
     10  * 功能:模拟交通灯
     11  * 编写人:Doget
     12  * 编写日期:2017.10.14
     13 */
     14 namespace TrafficLight
     15 {
     16     class Program
     17     {
     18         const int RED_TIME = 10;
     19         const int GREEN_TIME = 15;
     20         const int YELLOW_TIME = 3;
     21 
     22         static void Main(string[] args)
     23         {
     24             //红绿灯程序开始
     25           START:
     26             Console.SetCursorPosition(0, 0);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
     27             Console.Write("请按S键开启交通灯:");
     28           if (InputYellow() == "s")
     29           {
     30               LightOn("green", GREEN_TIME);
     31               Thread.Sleep(500);
     32               LightOn("red", RED_TIME);
     33               Thread.Sleep(500);
     34               LightOn("yellow", YELLOW_TIME);
     35               Thread.Sleep(500);
     36           }
     37           else
     38           {
     39               Console.WriteLine("输入错误,请重新输入!");
     40               Console.Clear();
     41               goto START;
     42           }
     43           Console.Write("按g键继续,其他键退出:");
     44           if (InputYellow() == "g")
     45           {
     46               goto START;
     47           }
     48           else
     49               Console.ReadKey();
     50         }
     51         /// <summary>
     52         /// 输入黄色字体的内容
     53         /// </summary>
     54         /// <returns>用户输入的内容</returns>
     55         static string InputYellow()
     56         {
     57             string startCmd;
     58             Console.ForegroundColor = ConsoleColor.Yellow;
     59             startCmd = (Console.ReadLine()).ToLower();
     60             Console.ResetColor();
     61             return startCmd;
     62         }
     63         /// <summary>
     64         /// 亮灯控制
     65         /// </summary>
     66         /// <param name="color">设置亮灯的颜色</param>
     67         /// <param name="time">设置亮灯的时间</param>
     68         static void LightOn(string color, int time)
     69         {
     70             switch (color.ToLower())
     71             {
     72                 case "green":
     73                     Console.ForegroundColor = ConsoleColor.Green;
     74                     for (int i = time; i > 0; i--)
     75                     {
     76                         ShowNumber(i);
     77                         Thread.Sleep(1000);
     78                     }
     79                     Console.ResetColor();
     80                     break;
     81                 case "red":
     82                     Console.ForegroundColor = ConsoleColor.Red;
     83                     for (int i = time; i > 0; i--)
     84                     {
     85                         if (i < 10)
     86                         {
     87                             ShowNumber(i);
     88                         }
     89                         Thread.Sleep(1000);
     90                     }
     91                     Console.ResetColor();
     92                     break;
     93                 case "yellow":
     94                     Console.ForegroundColor = ConsoleColor.Yellow;
     95                     for (int i = time; i > 0; i--)
     96                     {
     97                         if (i < 10)
     98                         {
     99                             ShowNumber(i);
    100                         }
    101                         Thread.Sleep(1000);
    102                     }
    103                     Console.ResetColor();
    104                     break;
    105                 default:
    106                     break;
    107             }
    108         }
    109         /// <summary>
    110         /// 显示数字方法
    111         /// </summary>
    112         /// <param name="number">要显示的数字</param>
    113         static void ShowNumber(int number)
    114         {
    115             int geNum = number % 10;
    116             int shiNum = number / 10 % 10;
    117             int baiNum = number / 10 % 10;
    118 
    119             PrintNum(shiNum,0, 1);
    120             PrintNum(geNum,8,1);
    121         }
    122         /// <summary>
    123         /// 控制台打印要显示的字符
    124         /// </summary>
    125         /// <param name="number">要打印的数字</param>
    126         /// <param name="shifx">打印数字距离屏幕左边距离</param>
    127         /// <param name="shify">打印数字距离屏幕上边距离</param>
    128         static void PrintNum(int number, int shifx, int shify)
    129         {
    130             switch (number)
    131             {
    132                 case 0:
    133                     Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    134                     Console.Write("  ***    
    ");
    135                     Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    136                     Console.Write(" *   *   
    ");
    137                     Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    138                     Console.Write("*     *  
    ");
    139                     Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    140                     Console.Write("*     *  
    ");
    141                     Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    142                     Console.Write("*     *  
    ");
    143                     Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    144                     Console.Write(" *   *   
    ");
    145                     Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    146                     Console.Write("  ***    
    ");
    147                     break;
    148                 case 1:
    149                     Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    150                     Console.Write("   *   
    ");
    151                     Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    152                     Console.Write("  **   
    ");
    153                     Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    154                     Console.Write(" * *   
    ");
    155                     Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    156                     Console.Write("   *   
    ");
    157                     Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    158                     Console.Write("   *   
    ");
    159                     Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    160                     Console.Write("   *   
    ");
    161                     Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    162                     Console.Write("*******
    ");
    163                     break;
    164                 case 2:
    165                     Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    166                     Console.Write("*******
    ");
    167                     Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    168                     Console.Write("      *
    ");
    169                     Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    170                     Console.Write("      *
    ");
    171                     Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    172                     Console.Write("*******
    ");
    173                     Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    174                     Console.Write("*      
    ");
    175                     Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    176                     Console.Write("*      
    ");
    177                     Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    178                     Console.Write("*******
    ");
    179                     break;
    180                 case 3:
    181                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    182                     Console.Write("*******
    ");
    183                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    184                     Console.Write("      *
    ");
    185                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    186                     Console.Write("      *
    ");
    187                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    188                     Console.Write("*******
    ");
    189                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    190                     Console.Write("      *
    ");
    191                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    192                     Console.Write("      *
    ");
    193                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    194                     Console.Write("*******
    ");
    195                     break;
    196                 case 4:
    197                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    198                     Console.Write("*     *
    ");
    199                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    200                     Console.Write("*     *
    ");
    201                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    202                     Console.Write("*     *
    ");
    203                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    204                     Console.Write("*******
    ");
    205                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    206                     Console.Write("      *
    ");
    207                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    208                     Console.Write("      *
    ");
    209                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    210                     Console.Write("      *
    ");
    211                     break;
    212                 case 5:
    213                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    214                     Console.Write("*******
    ");
    215                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    216                     Console.Write("*      
    ");
    217                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    218                     Console.Write("*      
    ");
    219                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    220                     Console.Write("*******
    ");
    221                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    222                     Console.Write("      *
    ");
    223                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    224                     Console.Write("      *
    ");
    225                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    226                     Console.Write("*******
    ");
    227                     break;
    228                 case 6:
    229                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    230                     Console.Write("*******
    ");
    231                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    232                     Console.Write("*      
    ");
    233                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    234                     Console.Write("*      
    ");
    235                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    236                     Console.Write("*******
    ");
    237                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    238                     Console.Write("*     *
    ");
    239                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    240                     Console.Write("*     *
    ");
    241                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    242                     Console.Write("*******
    ");
    243                     break;
    244                 case 7:
    245                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    246                     Console.Write("*******
    ");
    247                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    248                     Console.Write("      *
    ");
    249                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    250                     Console.Write("      *
    ");
    251                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    252                     Console.Write("      *
    ");
    253                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    254                     Console.Write("      *
    ");
    255                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    256                     Console.Write("      *
    ");
    257                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    258                     Console.Write("      *
    ");
    259                     break;
    260                 case 8:
    261                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    262                     Console.Write(" ***** 
    ");
    263                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    264                     Console.Write("*     *
    ");
    265                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    266                     Console.Write("*     *
    ");
    267                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    268                     Console.Write("  ***  
    ");
    269                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    270                     Console.Write("*     *
    ");
    271                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    272                     Console.Write("*     *
    ");
    273                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    274                     Console.Write(" ***** 
    ");
    275                     break;
    276                 case 9:
    277                                         Console.SetCursorPosition(shifx, shify);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    278                     Console.Write("*******
    ");
    279                                         Console.SetCursorPosition(shifx, shify+1);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    280                     Console.Write("*     *
    ");
    281                                         Console.SetCursorPosition(shifx, shify+2);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    282                     Console.Write("*     *
    ");
    283                                         Console.SetCursorPosition(shifx, shify+3);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    284                     Console.Write("*******
    ");
    285                                         Console.SetCursorPosition(shifx, shify+4);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    286                     Console.Write("      *
    ");
    287                                         Console.SetCursorPosition(shifx, shify+5);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    288                     Console.Write("      *
    ");
    289                                         Console.SetCursorPosition(shifx, shify+6);    //设置光标位置离屏幕左边为0,离屏幕顶部为1
    290                     Console.Write("*******
    ");
    291                     break;
    292                 default:
    293                     break;
    294             }
    295         }
    296     }
    297 }
    View Code
  • 相关阅读:
    spring多数据源配置
    spring+myBatis 配置多数据源,切换数据源
    Maven项目引入log4j的详细配置
    基于Https协议返回Jason字符串
    Http协议入门、响应与请求行、HttpServletRequest对象的使用、请求参数获取和编码问题
    java http post/get 服务端和客户端实现json传输
    java实现一个简单的Web服务器
    设计模式系列
    Nginx系列
    Linux系列
  • 原文地址:https://www.cnblogs.com/doget/p/7666367.html
Copyright © 2011-2022 走看看