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(); //等待输入
}
}
}