namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("我们现在开始玩剪刀石头布的游戏!");            Console.WriteLine("请选择你要出的拳:0是石头1是剪刀2是布");
            int me = int.Parse(Console.ReadLine());
            Random computer = new Random();
            int computer1 = computer.Next(0, 3);
            int score = 0;            do
            {
                switch (me)
                {
                    case 0:
                        Console.WriteLine("你出的是石头");
                        Console.WriteLine("电脑出的是{0}", computer1);
                        if (computer1 == me)
                        {
                            Console.WriteLine("你跟电脑打成平手");
                            score = score + 0;
                            Console.WriteLine("你目前的分数是:{0}", score);
                        }
                        else if (computer1 == 1)
                        {
                            Console.WriteLine("你赢了!");
                            score = score + 1;
                            Console.WriteLine("你目前的分数是:{0}", score);                        }
                        else
                        {
                            Console.WriteLine("你输了");
                            score = score - 1;
                            Console.WriteLine("你目前的分数是:{0}", score);
                        }
                        break;
                    case 1:
                        Console.Write("你出的是剪刀");
                        if (computer1 == me)
                        {
                            Console.WriteLine("你跟电脑打成平手");
                            score = score + 0;
                            Console.WriteLine("你目前的分数是:{0}", score);
                        }
                        else if (computer1 == 0)
                        {
                            Console.WriteLine("你输了!");
                            score = score - 1;
                            Console.WriteLine("你目前的分数是:{0}", score);                        }
                        else
                        {
                            Console.WriteLine("你赢了");
                            score = score + 1;
                            Console.WriteLine("你目前的分数是:{0}", score);
                        }
                        break;
                    case 2:
                        Console.Write("你出的是布");
                        if (computer1 == me)
                        {
                            Console.WriteLine("你跟电脑打成平手");
                            score = score + 0;
                            Console.WriteLine("你目前的分数是:{0}", score);
                        }
                        else if (computer1 == 0)
                        {
                            Console.WriteLine("你赢了!");
                            score = score + 1;
                            Console.WriteLine("你目前的分数是:{0}", score);                        }
                        else
                        {
                            Console.WriteLine("你输了");
                            score = score - 1;
                            Console.WriteLine("你目前的分数是:{0}", score);
                        }
                        break;
                    default:
                        {
                            Console.WriteLine("对不起,你没有选择");
                        }
                        break;
                }
            }
            while (score >= 10);
            
            
            Console.ReadLine();
        }
    }
}

解决方案 »

  1.   

    没仔细看,但是下面一看就错了。
    while (score < 10);
     
      

  2.   

    你的程序本身就错了。
    只能有一次输入的机会。
    当while(score>10)时,这个循环只执行一次,因为只和电脑猜拳一次永远不会超过10分。
    当while(score<10)时,若这一次输入的机会你赢了,则会把这个值判断了10次,然后跳出循环
                              若这一次输入的机会你输了,则程序会永远判断下去,分数会是负无穷大
                              若是平手,程序会永远判断,且你的分数总是0;
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace Ex_Game
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("我们现在开始玩剪刀石头布的游戏!");
                Console.WriteLine("请选择你要出的拳:0是石头1是剪刀2是布");
                int count = 0;
                int score = 0;
                Random computer = new Random();            while (count < 11)
                {
                    int me = int.Parse(Console.ReadLine());
                    switch (me)
                    {
                        case 0:
                            Console.WriteLine("你出的是石头");
                            int computer1 = computer.Next(0, 2);
                            Console.WriteLine("电脑出的是{0}", computer1);
                            if (computer1 == me)
                            {
                                Console.WriteLine("你跟电脑打成平手");
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            else if (computer1 == 1)
                            {
                                Console.WriteLine("你赢了!");
                                score++;
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            else
                            {
                                Console.WriteLine("你输了");
                                score--;
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            break;
                        case 1:
                            Console.WriteLine("你出的是剪刀");
                            computer1 = computer.Next(0, 2);
                            if (computer1 == me)
                            {
                                Console.WriteLine("你跟电脑打成平手");
                               // score = score + 0;
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            else if (computer1 == 0)
                            {
                                Console.WriteLine("你输了!");
                                score--;
                                Console.WriteLine("你目前的分数是:{0}", score);                        }
                            else
                            {
                                Console.WriteLine("你赢了");
                                score++;
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            break;
                        case 2:
                            Console.WriteLine("你出的是布");
                            computer1 = computer.Next(0, 2);
                            if (computer1 == me)
                            {
                                Console.WriteLine("你跟电脑打成平手");
                                score = score + 0;
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            else if (computer1 == 0)
                            {
                                Console.WriteLine("你赢了!");
                                score = score + 1;
                                Console.WriteLine("你目前的分数是:{0}", score);                        }
                            else
                            {
                                Console.WriteLine("你输了");
                                score = score - 1;
                                Console.WriteLine("你目前的分数是:{0}", score);
                            }
                            break;
                        default:
                            {
                                Console.WriteLine("对不起,你没有选择");
                            }
                            break;
                    }
                }
                Console.WriteLine("游戏结束.");
            }
        }

    改好了,拿去用吧
      

  4.   

    对,每个break前要  count++