黑马程序员技术交流社区

标题: c# 面向过程编程—石头剪刀布游戏 [打印本页]

作者: 小天    时间: 2013-8-6 09:55
标题: c# 面向过程编程—石头剪刀布游戏
我的代码如下,希望大家提出宝贵的意见


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

namespace 石头剪刀布游戏
{
    class Program
    {
        static void ShowUI()
        {
            Console.WriteLine("***************************************************************************");
            Console.WriteLine("                              石头剪刀布游戏                               ");
            Console.WriteLine("***************************************************************************");
            Console.WriteLine("游戏规则:1→石头,2→剪刀,3→布");
        }
        static void Main(string[] args)
        {
            //石头剪刀布的游戏,当用户输入错误次数大于3或者输入q的时候退出程序,当用户输入次数大于10次的时候
            //提示用户是否清屏
            ShowUI();
            Random random = new Random();
            //产生1到3的随机数
            string str = "";
            bool flag=true;
            int i = 1;//错误次数
            int j = 0;//询问用户是否清屏,输入y清屏
            while (flag)
            {
                try
                {
                        Console.WriteLine("请输入要操作的序号(q→退出):");
                        str = Console.ReadLine();
                        if (str == "q")
                        {
                            Console.WriteLine("用户输入q,程序退出");
                            flag = false;
                        }
                        int number = random.Next(1, 4);
                        int input = Convert.ToInt32(str);
                        if (input == 1)
                        {
                            //Console.WriteLine("用户出\"石头\"");
                            if (number == 1)
                            {
                                Console.WriteLine("用户出\"石头\"→电脑出\"石头\"");
                                Console.WriteLine("你和电脑是平手");
                            }
                            else if (number == 2)
                            {
                                Console.WriteLine("用户出\"石头\"→电脑出\"剪刀\"");
                                Console.WriteLine("你好厉害啊!!!");
                            }
                            else
                            {
                                Console.WriteLine("用户出\"石头\"→电脑出\"布\"");
                                Console.WriteLine("你失败了,继续努力!!!");
                            }
                            j++;
                        }
                        else if (input == 2)
                        {
                            //Console.WriteLine("用户出\"剪刀\"");
                            if (number == 1)
                            {
                                Console.WriteLine("用户出\"剪刀\"→电脑出\"石头\"");
                                Console.WriteLine("你失败了,继续努力!!!");
                            }
                            else if (number == 2)
                            {
                                Console.WriteLine("用户出\"剪刀\"→电脑出\"剪刀\"");
                                Console.WriteLine("你和电脑是平手");
                            }
                            else
                            {
                                Console.WriteLine("用户出\"剪刀\"→电脑出\"布\"");
                                Console.WriteLine("你好厉害啊!!!");
                            }
                            j++;
                        }
                        else if (input == 3)
                        {
                            //Console.WriteLine("用户出\"布\"");
                            if (number == 1)
                            {
                                Console.WriteLine("用户出\"布\"→电脑出\"石头\"");
                                Console.WriteLine("你好厉害啊!!!");
                            }
                            else if (number == 2)
                            {
                                Console.WriteLine("用户出\"布\"→电脑出\"剪刀\"");
                                Console.WriteLine("你失败了,继续努力!!!");
                            }
                            else
                            {
                                Console.WriteLine("用户出\"布\"→电脑出\"布\"");
                                Console.WriteLine("你和电脑是平手");
                            }
                            j++;
                        }
                        else
                        {
                            Console.WriteLine("用户输入的序号不存在,游戏结束");
                        }                    
                if(j%5==0)
                {
                    Console.WriteLine("是否需要清屏(y→清屏)?");
                    str = Console.ReadLine();
                    if (str == "y")
                    {
                        Console.Clear();
                        ShowUI();
                    }
                    else
                    {
                        continue;
                    }
                }
            }
                catch
                {
                    i++;
                    if (i > 3)
                    {
                        Console.WriteLine("你输入的错误次数超过3次,游戏结束");
                        flag = false;
                    }
                    else
                    {
                        Console.WriteLine("你输入的序列号不正确,请重新输入");
                    }
                }
            }
            Console.ReadKey();
        }
    }
}

ss.jpg (38.8 KB, 下载次数: 15)

ss.jpg

作者: 许庭洲    时间: 2013-8-6 19:24
值得学习ing!
作者: 彭家贰小姐    时间: 2013-8-6 21:37





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2