---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

代码如下:

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

namespace 猜拳游戏
{
    class Program
    {
        static string Mode;    //选择什么模式
        static string Name;   //人机对战角色名
        static string[] Names = { "", "" }; //人人对战 第一个人和第二个人的名字初值都为空
        static void Main(string[] args)
        {
            UI.StartUI();
            int selectNum=SelectMode();
            Console.WriteLine(Mode);
            Role(selectNum);
            GameStart();
            Gaming(selectNum);
            UI.EndUI();
            Console.ReadKey();
        }
        /// <summary>
        /// 选择模式方法 返回一个int值 1或者2
        /// </summary>
        static int SelectMode()
        {
            Console.WriteLine("请选择对战模式:");
            Console.WriteLine("1.人机对战  2.玩家对战");
            while (true)
            {
                Mode = Console.ReadLine();
                if (Mode == "1")
                {
                    Mode = "你选择的是--1.人机对战!";
                    return 1;
                }
                else if (Mode == "2")
                {
                    Mode = "你选择的是--2.玩家对战!";
                    return 2;
                }
                else
                {
                    Console.WriteLine("只能选择1或者2");
                    continue; //继续循环
                }
            }
        }
        /// <summary>
        /// 选择角色方法  传入一个参数 1.是人机对战角色 2.是人人对战
        /// </summary>
        static void Role(int i)
        {
            if (i == 1)
            {
                #region 人机对战角色:
                Console.WriteLine("请选择你的角色");
                Console.WriteLine("1.灵儿 2.逍遥哥 3.月如");
                while (true)
                {
                    Name = Console.ReadLine();
                    if (Name == "1")
                    {
                        Name = "灵儿";
                        break;
                    }
                    else if (Name == "2")
                    {
                        Name = "逍遥哥";
                        break;
                    }
                    else if (Name == "3")
                    {
                        Name = "月如";
                        break;  //跳出循环
                    }
                    else
                    {
                        Console.WriteLine("只能选择1或2或者3");
                        continue;
                    }
                }
                Console.WriteLine("你的角色是{0}", Name);
                #endregion
            }
          
            else
            {
                #region 人人对战:
                Console.WriteLine("请选择第一个人的角色");
                Console.WriteLine("1.灵儿 2.逍遥哥 3.月如");
                while (true)
                {
                    Names[0] = Console.ReadLine();
                    if (Names[0] == "1")
                    {
                        Console.WriteLine("第一个人的角色是灵儿");
                        break;
                    }
                    else if (string.Equals(Names[0], "2"))
                    {
                        Console.WriteLine("第一个人的角色是逍遥哥");
                        break;
                    }
                    else if (string.Equals(Names[0], "3"))
                    {
                        Console.WriteLine("第一个人的角色是月如");
                        break;  //跳出循环
                    }
                    else
                    {
                        Console.WriteLine("只能选择1或2或者3");
                        continue;
                    }
                }
                Console.WriteLine("请选择第二个人的角色");
                Console.WriteLine("1.灵儿 2.逍遥哥 3.月如");
                while (true)
                {

Names[1] = Console.ReadLine();
                    if (Names[0] == Names[1]) //判断两个人的名字是否相同
                    {
                        Console.WriteLine("两个人的名字不能一样!,请重新输入");
                    }
                    else if (string.Equals(Names[1], "1"))
                    {
                        Names[1] = "灵儿";
                        break;
                    }
                    else if (string.Equals(Names[1], "2"))
                    {
                        Names[1] = "逍遥哥";
                        break;
                    }
                    else if (string.Equals(Names[1], "3"))
                    {
                        Names[1] = "月如";
                        break;  //跳出循环
                    }
                    else
                    {
                        Console.WriteLine("只能选择1或2或者3");
                        continue;
                    }
                }
                Console.WriteLine("第二个人的角色是{0}", Names[1]);
                #endregion
            }
          
        }
        /// <summary>
        /// 游戏是否开始
        /// </summary>
        static void GameStart()
        {
            while (true)
            {
                Console.WriteLine("要开始游戏?(y/n)");
                string GameNum = Console.ReadLine();
                if (GameNum == "y")
                {
                    Console.Clear();
                    UI.StartUI();
                    Console.WriteLine("游戏开始......");
                    break;
                }
                else if (GameNum == "n")
                {
                    Console.Clear();
                    UI.StartUI();
                    Console.WriteLine("等待开始游戏......");
                    Console.ReadKey();
                    continue;
                }
                else
                {
                    Console.WriteLine("请选择y/n");
                    continue;
                }
            }
        }
        //进入两模式的判断 传入一个int值 1:人机对战 2:人人对战
        static void Gaming(int j)
        {
            Console.WriteLine("1.布 2.剪子 3.石头");
            if (j == 1)
            {
                #region 人机对战模式的判断:
                int numP;
                int numM;
                int i = 0;    //进行的次数
                bool nextGame = true;  //是否进行下一循环
                while (nextGame)
                {
                    #region 输入你出的拳
                    while (true)
                    {
                        try
                        {
                            Console.WriteLine("你先出拳......");
                            numP = Convert.ToInt32(Console.ReadLine());
                            switch (numP)
                            {
                                case 1:
                                    Console.WriteLine("你出的是:布");
                                    break;
                                case 2:
                                    Console.WriteLine("你出的是:剪子");
                                    break;
                                case 3:
                                    Console.WriteLine("你出的是:石头");
                                    break;
                                default:
                                    Console.WriteLine("没有你输入的这项!");
                                    continue;
                            }
                            break;
                        }
                        catch
                        {
                            Console.WriteLine("请输入正确的数字!");
                            continue;
                        }
                    }
                    #endregion
                    #region 机器随机出拳......
                    Random rM = new Random();
                    numM = rM.Next(1, 4); //随机生成1、2、3
                    Console.WriteLine("电脑正在出拳......");
                    switch (numM)
                    {
                        case 1:
                            Console.WriteLine("机器出的是:布");
                            break;
                        case 2:
                            Console.WriteLine("机器出的是:剪子");
                            break;
                        case 3:
                            Console.WriteLine("机器出的是:石头");
                            break;
                    }
                    #endregion
                    #region 判断谁赢
                    if (numP == numM)
                    {
                        Console.WriteLine("出的一样,平手!");
                    }
                    else if (numP == 1)
                    {
                        if (numM == 2)
                        {
                            Console.WriteLine("你输了");
                        }
                        else
                            Console.WriteLine("你赢了");  //机器出3

}
                    else if (numP == 2)
                    {
                        if (numM == 1)
                        {
                            Console.WriteLine("你赢了");
                        }
                        else
                            Console.WriteLine("你输了");//机器出3
                    }
                    else if (numP == 3)
                    {
                        if (numM == 1)
                        {
                            Console.WriteLine("你输了");
                        }
                        else
                            Console.WriteLine("你赢了");//机器出2
                    }
                    #endregion
                    i++;
                    #region 两次以上就清屏
                    if (i > 1)
                    {
                        Console.Write("输入任意键继续......");
                        Console.ReadKey(false);
                        Console.Clear();
                        UI.StartUI();
                    }
                    #endregion
                    #region 问用户是否进行下一轮?
                    while (true)
                    {
                        Console.WriteLine("对战次数:{0}", i);
                        Console.WriteLine("是否开始下一轮:(y/n)?");
                        string next = Console.ReadLine();
                        if (next == "y")
                        {
                            nextGame = true;
                            break;
                        }
                        else if (next == "n")
                        {
                            nextGame = false;
                            Console.WriteLine("游戏结束,按任意键退出......");
                            break;
                        }
                        else
                        {
                            Console.WriteLine("请输入正确的字符......");
                            continue;
                        }
                    }
                    #endregion
                }
                #endregion
            }
            else  //j==2
            {
                #region 人人对战模式的判断:
                int numFirst;
                int numSecond;
                int i = 0;    //进行的次数
                bool nextGame = true;  //是否进行下一循环
                while (nextGame)
                {
                    #region 第一个人出拳
                    while (true)
                    {
                        try
                        {
                            Console.WriteLine("第一个人先出拳......");
                            numFirst = Convert.ToInt32(Console.ReadLine());
                            switch (numFirst)
                            {
                                case 1:
                                    Console.WriteLine("第一个人出的是:布");
                                    break;
                                case 2:
                                    Console.WriteLine("第一个人出的是:剪子");
                                    break;
                                case 3:
                                    Console.WriteLine("第一个人出的是:石头");
                                    break;
                                default:
                                    Console.WriteLine("没有你输入的这项!");
                                    continue;
                            }
                            break;
                        }
                        catch
                        {
                            Console.WriteLine("请输入正确的数字!");
                            continue;
                        }
                    }
                    #endregion
                    #region 第二个人出拳
                    while (true)
                    {
                        try
                        {
                            Console.WriteLine("第二个人再出拳......");
                            numSecond = Convert.ToInt32(Console.ReadLine());
                            switch (numSecond)
                            {
                                case 1:
                                    Console.WriteLine("第二个人出的是:布");
                                    break;
                                case 2:
                                    Console.WriteLine("第二个人出的是:剪子");
                                    break;
                                case 3:
                                    Console.WriteLine("第二个人出的是:石头");
                                    break;
                                default:
                                    Console.WriteLine("没有你输入的这项!");
                                    continue;
                            }
                            break;
                        }
                        catch
                        {
                            Console.WriteLine("请输入正确的数字!");
                            continue;
                        }
                    }
                    #endregion
                    #region 判断谁赢
                    if (numFirst == numSecond)
                    {
                        Console.WriteLine("出的一样,平手!");
                    }
                    else if (numFirst == 1)
                    {
                        if (numSecond == 2)
                        {
                            Console.WriteLine("第二个人赢了");
                        }
                        else
                            Console.WriteLine("第一个人赢了");  //第二个人出3

}
                    else if (numFirst == 2)
                    {
                        if (numSecond == 1)
                        {
                            Console.WriteLine("第一个人赢了");
                        }
                        else
                            Console.WriteLine("第二个人赢了");//第二个人出3
                    }
                    else if (numFirst == 3)
                    {
                        if (numSecond == 1)
                        {
                            Console.WriteLine("第二个人赢了");
                        }
                        else
                            Console.WriteLine("第一个人赢了");//第二个人出2
                    }
                    #endregion
                    i++;
                    #region 两次以上就清屏
                    if (i > 1)
                    {
                        Console.Write("输入任意键继续......");
                        Console.ReadKey(false);
                        Console.Clear();
                        UI.StartUI();
                    }
                    #endregion
                    #region 问用户是否进行下一轮?
                    while (true)
                    {
                        Console.WriteLine("对战次数:{0}", i);
                        Console.WriteLine("是否开始下一轮:(y/n)?");
                        string next = Console.ReadLine();
                        if (next == "y")
                        {
                            nextGame = true;
                            break;
                        }
                        else if (next == "n")
                        {
                            nextGame = false;
                            Console.WriteLine("游戏结束,按任意键退出......");
                            break;
                        }
                        else
                        {
                            Console.WriteLine("请输入正确的字符......");
                            continue;
                        }
                    }
                    #endregion
                }
                #endregion
            }
        }
    }
    #region 界面类
    class UI
    {
        public static void StartUI()
        {
            Console.WriteLine("*************************欢 迎 入 游 戏 世 界*************************");
            Console.WriteLine("\n");
            Console.WriteLine("                **************************************");
            Console.WriteLine("                **猜拳                          开始**");
            Console.WriteLine("                **************************************");
        }
        public static void EndUI()
        {
            Console.WriteLine("----------------------------------------------------------------------");
            Console.WriteLine("*************************游   戏   结   束 !*************************");
            Console.WriteLine("----------------------------------------------------------------------");
        }
    }
    #endregion
}

谢谢浏览......

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

黑马程序员--一个划拳的小项目代码相关推荐

  1. 黑马程序员—一个美女程序员面试经历,不要羡慕姐,姐只是个传说!

    文章来源:黑马程序员,黑马论坛 致学弟学妹们: 先自我介绍下,我是黑马15期一个很平凡,平凡的不能再平凡的女孩,很高兴刚刚毕业就找到一份自己满意的工作,8k.五险一金.餐补.公交补.电话补助, 项目分 ...

  2. 黑马程序员--一个美女程序员面试经历,不要羡慕姐,姐只是个传说!

    文章来源:黑马程序员,黑马论坛 致学弟学妹们: 先自我介绍下,我是黑马 15 期一个很平凡,平凡的不能再平凡的女孩,很高兴刚刚毕业就找到一份自己满意的工作, 8k .五险一金.餐补.公交补.电话补助 ...

  3. python实训项目-黑马程序员上海校区Python21期Django项目实训

    黑马程序员上海中心 月薪一万只是起点 关注 晚上十点,一名名Python学生正在酣畅淋漓地撸代码,手指不间断地敲击着键盘,发出机械而清脆的声音. 各个小组在经过为期4天的django项目小组开发,终于 ...

  4. 黑马程序员 一个程序员的自我修养

    ---------------------- <a href="http://www.itheima.com"target="blank">ASP. ...

  5. 每个程序员都可以入手的小项目创意大集合

    我经常看有人发帖问关于软件项目创意点子的事,也看到了很多回帖,我自己也回了一些常见的软件项目创意.不过我觉得只列出三两个是远远不够的,因此就收集并这个软件项目创意列表,大家要找简单的编程软件项目创意学 ...

  6. 黑马程序员--一个初中没毕业的苦逼,到8.5k的程序人生,感谢黑马

    乡亲们and同学们:                 大家好!         貌似现在感谢信是每个黑马毕业后找到工作的首要任务了! 我是5月份进的黑马,是9期的, 其实感觉从我搭上飞机,落在北京之时 ...

  7. 黑马程序员HTML+CSS学成在线项目

    /*美化首页*/ *{margin: 0;padding: 0;box-sizing: border-box; }li{list-style: none; } a{text-decoration: n ...

  8. 黑马程序员Android学习笔记——金山卫士项目——第三天

    学习了,一定要总结,学习贵在永恒贵在用心. 学习内容: 1.绑定sim卡 2.检查手机是否更换sim卡 3.读取手机联系人 4.手机防盗原理 5.短信指令的广播 6.播放报警音乐 7.三种获取手机位置 ...

  9. 黑马程序员Android学习笔记——金山卫士项目——第二天

    这几天学习了第二天的内容, 项目源代码:http://download.csdn.net/detail/itjavawfc/8241695 主要收获了: 1)自定义属性:一般用在组合控件中 2)自定义 ...

最新文章

  1. 为什么 MySQL 不推荐默认值为 null ?
  2. 求集合/字符串中的所有组合 (C语言)
  3. Use DynamicXElement to create xml
  4. python-day01
  5. 用C#实现C/S模式下软件自动在线升级[转载]
  6. elementPlus关闭弹窗,页面原先滚动条消失
  7. 数据源的配置和使用 视频下载
  8. python登录页面_Python:简单的登陆GUI界面
  9. LintCode解题目录
  10. 参考AWR中的Instance Activity Statistics 计算IOPS
  11. EVE-NG之dynamips镜像重新计算idle值
  12. Python中文手册——开胃菜
  13. 直线段的矢栅转换算法(DDA算法、中心画线算法、Bresenham算法)
  14. CWM模式(卡刷)教程
  15. JavaScript 技术篇 - js读取Excel文档里的内容实例演示,js如何读取excel指定单元格的内容,js将excel的内容转化为json字符串方法
  16. 阿里云域名动态解析dns,ddns php定时更新
  17. python 应用程序无法正常启动 000007b_“应用程序无法正常启动(oxc000007b)”解决方案...
  18. 初学AE影视后期的电脑硬件配置知识…
  19. 4. Python面向对象语法——类的构造函数
  20. OpenEuler 22.03 安装NextCloud

热门文章

  1. html图表插件,数据可视化--js图表插件EChart
  2. Cadence教程(嘉立创封装导入到orcad)
  3. 电脑核显可以用html吗,GPU性能测试:看最强核显能干翻哪些独显
  4. 海外媒体是怎么玩NFT的?
  5. Android 对 颜色值 设置透明度
  6. 制袋机横切机程序威纶通触摸屏和三菱3UPLC加模拟量4DA模块,控制两台变频器
  7. EAS BOS 代码隐藏分录列、锁定列、锁定单元格
  8. element ui 表格行高设置
  9. 怎样选择适合自己的发色?ps教你快速染发
  10. 哪个品牌的蓝牙耳机质量比较好?内行推荐四款好用的蓝牙耳机