C# while循环

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
           // 一个石头剪刀布的游戏,下面代码其实可以封装成函数或者过程,封装成函数或者过程会代码更简单,更清晰. 但是由于刚开始学C#,学到了面向对象的方法时再封装吧.
            Random Rd = new Random();  //实例随机数函数..
            int i = 0;
            int num = 0;  //用作系统出拳标识
            Console.WriteLine("请选择你的角色. [1.剪刀]\t[2.石头]\t[3.小布]");
            switch (Convert.ToInt16(Console.ReadLine()))
            {
                case 1:
                    Console.WriteLine("你输入的是剪刀");
                        Console.WriteLine("游戏开始,等待系统出招");
                        Console.WriteLine("系统开始出招");
                        while (i < Rd.Next(3, 30))   // 当循环, 最少循环3次.最大循环29次.  每次循环都给num取一个随机数
                        {
                            num = Rd.Next(4);
                            Console.Write(".");
                            i++;
                         }
                    Console.WriteLine("\n");
                    if (num == 2)
                        Console.WriteLine("哈哈, 你输了, 系统出了 [2.石头]");
                    else if (num == 3)
                        Console.WriteLine("好吧,你赢了.系统出了[3.小布]");
                    else
                        Console.WriteLine("一个令人讨厌的结果,系统出了[1.剪刀], 你们打平了.");
                     break;   //这个地方需要注意. 每个case结束后都必须有一个break,因为C#编译器不会自动跳过下面的case语句. 如果不写的话就无法编译.
                case 2:
                    Console.WriteLine("你输入的是石头");
                    Console.WriteLine("游戏开始,等待系统出招");
                    Console.WriteLine("系统开始出招");
                    while (i < Rd.Next(3, 30))
                    {
                        num = Rd.Next(4);
                        Console.Write(".");
                        i++;
                    }
                    Console.WriteLine("\n");
                    if (num == 3)
                        Console.WriteLine("哈哈, 你输了, 系统出了 [1.小布]");
                    else if (num == 1)
                        Console.WriteLine("好吧,你赢了.系统出了[1.剪刀]");
                    else
                        Console.WriteLine("一个令人讨厌的结果,系统出了[2.石头], 你们打平了.");
                    break;
                case 3:
                    Console.WriteLine("你输入的是小布");
                    Console.WriteLine("游戏开始,等待系统出招");
                    Console.WriteLine("系统开始出招");
                    while (i < Rd.Next(3, 30))
                    {
                        num = Rd.Next(4);
                        Console.Write(".");
                        i++;
                    }
                    Console.WriteLine("\n");
                    if (num == 1)
                        Console.WriteLine("哈哈, 你输了, 系统出了 [1.剪刀]");
                    else if (num == 2)
                        Console.WriteLine("好吧,你赢了.系统出了[2.石头]");
                    else
                        Console.WriteLine("一个令人讨厌的结果,系统出了[3.小布], 你们打平了.");
                    break;
                default :  //所有结果都不符合时执行下面的语句, 等同于 if (<code>) 的 else ;
                    Console.WriteLine("你输入了错误的信息");
                    break;
            }

            Console.ReadKey();  //等待输入
        }
    }
}
posted @ 2012-08-31 17:28  梦断难寻  阅读(4618)  评论(0编辑  收藏  举报