`
kxw953492793kxw
  • 浏览: 9208 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

飞行棋玩家的创建及主方法的实现

阅读更多
static int step;
        static int[] Map = new int[100];
        static int[] player = { 0, 0 };//player[0]存玩家A的下标,player[1]存玩家B的下标
        static string[] name = new string[2];//name[0]存玩家A的姓名,name[1]存玩家B的姓名
        static bool[] Tstop = { false, false };//将Tstop[0]设为玩家A,默认为false,将Tstop[1]设为玩家B,默认为false。
        static void Main(string[] args)
        {
            ShowUi();                  
            Console.WriteLine("请输入玩家A的姓名");
            name[0]=Console.ReadLine();
            while (name[0] == "")//判断玩家A姓名是否为空
            {
                Console.WriteLine("玩家A的姓名不能为空");
                name[0] = Console.ReadLine();
            }
            Console.WriteLine("请输入玩家B的姓名");
            name[1] = Console.ReadLine();
            while (name[1] == "" || name[1] == name[0])//判断判断玩家B姓名是否为空和玩家B是否和玩家A的名字相同
            {
                if (name[1] == "")//判断判断玩家B姓名是否为空
                {
                    Console.WriteLine("玩家B的姓名不能为空");
                    name[1] = Console.ReadLine();
                }
                else//玩家B是否和玩家A的名字相同
                {
                    Console.WriteLine("玩家B的姓名已被用,请重新输入");
                    name[1] = Console.ReadLine();
                }
            }
            Console.Clear();//清屏
            ShowUi();
            Console.WriteLine("对战开始.........");   
            Console.WriteLine("玩家A的姓名:{0}",name[0]);
            Console.WriteLine("玩家B的姓名:{0}", name[1]);
            Console.WriteLine("如果AB在同一位置,用<>来表示");
            InitialMap();
            DrawMap();
            Console.WriteLine("开始游戏");
            while (player[0] < 99 && player[1] < 99)
            {
                if (Tstop[0] == false)//判断玩家是否在暂停关卡
                {
                    #region//玩家A掷骰子
                    Action(0);
                    #endregion
                }
                else
                {
                    Tstop[0] = false;                  
                }
                if (player[0] >= 99)//判断玩家A走完了棋盘,走完了就跳出循环
                {
                    break;
                }
                if (Tstop[1] == false)
                {
                    #region//玩家B掷骰子
                    Action(1);
                    #endregion
                }
                else
                {
                    Tstop[1] = false;                 
                }
            }
            Console.Clear();//清屏
            ShowUi();
            if (player[0] >= 99)
            {
                Console.WriteLine("玩家{0}获胜", name[0]);
            }
            else
            {
                Console.WriteLine("玩家{0}获胜", name[1]);
            }
            Console.ReadKey();
        }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics