随机数的小游戏(下)

这是一个玩21点的小游戏;

21就是不大于21的谁大谁赢;一个大于21一个小于21,小于21的赢;大家都大于21点或者都是21点算平手。

上次讲了玩家和电脑的抽牌操作以及代码,现在讲根据电脑与玩家当局总点数判断该局的最终结果的函数

///

            /// 根据电脑与玩家当局总点数判断该局的最终结果(赢了加一分,输的不加分)

            ///

            /// name="pla_result">

            /// name="com_result">

            /// name="name">玩家名称

            public static void check_result(int pla_result, int com_result, string name)

            {

                if (pla_result == 0)

                {

                    Console.WriteLine($"对手的结果为:{com_result}");

                    if (com_result == 21)

                    {

                        Console.WriteLine("很遗憾,对手也赢了,二人平手");

                    }

                }

                else if (pla_result == 1)

                {

                    Console.WriteLine((com_result > 21) ? $"对手结果为{com_result},哦,对手也输了,两人平手" : $"对手结果为{com_result},还是{name}输了");

                    compuTers += (com_result > 21) ? 0 : 1;

                }

                else

                {

                    Console.WriteLine($"对手的结果为:{com_result}");

                    if (com_result > 21)

                    {

                        Console.WriteLine($"{name}赢了");

                        gamePlayer += 1;

                    }

                    else

                    {

                        Console.WriteLine((pla_result > com_result) ? $"{name}赢了" : (pla_result < com_result) ? "对手赢了" : "平手");

                        gamePlayer += (pla_result > com_result) ? 1 : 0;

                        compuTers += (pla_result < com_result) ? 1 : 0;

                    }

                }

            }

pla_result:传输玩家的点数

com_result:传输电脑的点数

根据这两个的传输值来判断谁输谁赢判断方法就是开头说的那句话(21就是不大于21的谁大谁赢;一个大于21一个小于21,小于21的赢;大家都大于21点或者都是21点算平手)

然后写点击运行代码后跳出来的操作面板

///

            /// 操作面板

            ///

            /// name="args">

            static void Main(string[] args)

            {

                Console.WriteLine("Welcome to this game!What is your name?");

                string name = Console.ReadLine();//获取玩家名称

                ArrayList nums = new ArrayList();//创建一个数组存放

                for (int i = 0; i < 4; i++)

                {

                    for (int x = 1; x <= 13; x++)

                    {

                        nums.Add(x);      // 将4副扑克牌加入到集合中(21点只用考虑点数,不用考虑花色)

                    }

                }

                do

                {

                    Feing += 1;

                    int pla_result = Play(name, nums);

                    int com_result = computer(nums);//回到玩家抽牌操作/电脑抽牌操作

                    check_result(pla_result, com_result, name);

                    Console.WriteLine("是否再来一局?(是请输入:1 / 否请输入:2)");

                } while (Console.ReadLine() == "1");

                Console.WriteLine($"一共比了{Feing}局,最终比分{name}:compuTers为{gamePlayer}:{compuTers}");

                if (gamePlayer == compuTers)

                {

                    Console.WriteLine("最终二人平局");

                }

                else if (gamePlayer > compuTers)

                {

                    Console.WriteLine("最终{0}夺得最终胜利", name);

                }

                else

                {

                    Console.WriteLine("最终computer取得胜利");

                }

                Console.WriteLine("Bye!");

                Console.ReadKey();

            }

这一句是运行后出现在操作面板上的第一句话,这句话是让你创建你的名字;

Console.WriteLine(“Welcome to this game!What is your name?”)

创建一个name变量接收保存这个名字。

循环牌组,存到一个nums数组中;

经过int pla_result=Play(name,nums)和int com_result=computer(nums)回到电脑和玩家抽牌的函数中获取他们最终的值,然后到check_result(pla_result, com_result, name)再传到判断谁输谁赢的函数上

根据传回来的数据判断出输赢和得分情况(赢得一分,输了不得分),最终得出谁输谁赢、还有总共局数和最终得分。

你可能感兴趣的:(c#)