谁能帮我解决这几个问题啊,用C#程序写出来啊,特别是第5个问题,让我绞尽脑筋都想不出来 //1.显示你出的是什么
 //2.电脑出的是什么
 //3.计分(统计玩家和电脑各赢了多少次)
 //4.给玩家和电脑各赋予100元代币。可以下注。      
  //5.计算胜率(作为电脑)要求控制到在玩家胜率达到50%以后,让玩家连续输5局。using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {                Console.WriteLine("请选择你要出什么招数:1石头 2剪刀 3布");
                int player = Convert.ToInt32(Console.ReadLine());                Random random = new Random();
                int computer = random.Next(1, 4);                if ((player == 1 && computer == 3) || (player == 2 && computer == 1) || (player == 3 && computer == 2))
                {
                    Console.WriteLine("电脑赢了");
                }
                if ((player == 3 && computer == 1) || (player == 1 && computer == 2) || (player == 2 && computer == 3))
                {
                    Console.WriteLine("玩家赢了");
                }
                if ((player == 3 && computer == 3) || (player == 2 && computer == 2) || (player == 1 && computer == 1))
                {
                    Console.WriteLine("平局了");
                }                
                
                Console.WriteLine("是否再玩一次 yes/no?");
                string str = Console.ReadLine();
                if (str!="yes")
                {
                    break;
                }
            }        }
    }
}
C#Colorrandom

解决方案 »

  1.   

    这个容易,石头剪子布其实是玩家先出,电脑其实处于作弊状态,所以只要改掉int computer = random.Next(1, 4);
    这句,让computer的值始终战胜player 就可以,
      

  2.   

    这些东西可以简化
                    if ((player == 1 && computer == 3) || (player == 2 && computer == 1) || (player == 3 && computer == 2))
                    {
                        Console.WriteLine("电脑赢了");
                    }
                    if ((player == 3 && computer == 1) || (player == 1 && computer == 2) || (player == 2 && computer == 3))
                    {
                        Console.WriteLine("玩家赢了");
                    }
                    if ((player == 3 && computer == 3) || (player == 2 && computer == 2) || (player == 1 && computer == 1))
                    {
                        Console.WriteLine("平局了");
                    }if (player ==  computer)
    {
        Console.WriteLine("平局了");
    }
    else
    {
        if ((player == computer + 1) || (player == computer - 2))
        {
            Console.WriteLine("电脑赢了");
        }
        else
        {
            Console.WriteLine("玩家赢了");
        }
    }
        
      

  3.   

    死循环外面(全局变量、static)声明个int值(这里用n)存放还需要输多次局的值,默认为0;每次比赛的时候进行判断这个值是多少,如果大于零当玩家出了后电脑不需要随机而直接为电脑赋值(克制玩家所出的结果),反之负一个随机数,然后n--;