简单的推箱子游戏(利用数组)

            string[,] serwei = new string[10, 10] { 
             {"","","","","","","","","",""},
             {"","  ","  ","  ","  ","","  ","  ","",""},
             {"","  ","  ","  ","  ","  ","  ","","",""},
             {"","  ","","  ","  ","  ","","  ","  ",""},
             {"","  ","","","","  ","  ","  ","  ",""},            
             {"","  ","  ","  ","","  ","  ","","  ",""},
             {"","","  ","  ","","  ","  ","","  ",""},
             {"","  ","  ","","","  ","  ","  ","  ",""},
             {"","  ","  ","  ","  ","  ","  ","  ","",""},
             {"","","","","","","","","",""},
              };//定义二维数组
            serwei[1, 1] = "";
            serwei[2, 4] = "";
            serwei[8, 7] = "";

            int rzbx = 1;
            int rzby = 1;
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Console.Write(serwei[i, j]);
                }
                Console.WriteLine();
            }
            while (true)
            {
                Console.WriteLine("请输入移动方向wasd,上左下右");
                char yidong = Console.ReadKey().KeyChar;
                if (yidong == 'd')
                {
                    if (serwei[rzby, rzbx + 1] == "")
                    {


                    }
                    if (serwei[rzby, rzbx + 1] == "")
                    {
                        if (serwei[rzby, rzbx + 2] == "  " || serwei[rzby, rzbx + 2] == "")
                        {
                            serwei[rzby, rzbx + 1] = "";
                            serwei[rzby, rzbx + 2] = "";
                            serwei[rzby, rzbx] = "  ";
                            rzbx = rzbx + 1;
                        }
                    }
                    if (serwei[rzby, rzbx + 1] == "  ")
                    {
                        serwei[rzby, rzbx] = "  ";
                        serwei[rzby, rzbx + 1] = "";
                        rzbx = rzbx + 1;
                    }

                }
                if (yidong == 's')
                {
                    if (serwei[rzby + 1, rzbx] == "  ")
                    {
                        serwei[rzby, rzbx] = "  ";
                        serwei[rzby + 1, rzbx] = "";
                        rzby = rzby + 1;

                    }
                    if (serwei[rzby + 1, rzbx] == "")
                    {
                        if (serwei[rzby + 2, rzbx] == "  " || serwei[rzby + 2, rzbx] == "")
                        {
                            serwei[rzby, rzbx] = "  ";
                            serwei[rzby + 1, rzbx] = "";
                            serwei[rzby + 2, rzbx] = "";
                            rzby = rzby + 1;
                        }
                    }
                }
                if (yidong == 'a')
                {
                    if (serwei[rzby, rzbx - 1] == "  ")
                    {
                        serwei[rzby, rzbx] = "  ";
                        serwei[rzby, rzbx - 1] = "";
                        rzbx = rzbx - 1;
                    }
                    if (serwei[rzby, rzbx - 1] == "")
                    {
                        if (serwei[rzby, rzbx - 2] == "  " || serwei[rzby, rzbx - 2] == "")
                        {
                            serwei[rzby, rzbx] = "  ";
                            serwei[rzby, rzbx - 1] = "";
                            serwei[rzby, rzbx - 2] = "";
                            rzbx = rzbx - 1;
                        }
                    }
                }
                if (yidong == 'w')
                {
                    if (serwei[rzby - 1, rzbx] == "  ")
                    {
                        serwei[rzby, rzbx] = "  ";
                        serwei[rzby - 1, rzbx] = "";
                        rzby = rzby - 1;

                    }
                    if (serwei[rzby - 1, rzbx] == "")
                    {
                        if (serwei[rzby - 2, rzbx] == "  " || serwei[rzby - 2, rzbx] == "")
                        {
                            serwei[rzby, rzbx] = "  ";
                            serwei[rzby - 1, rzbx] = "";
                            serwei[rzby - 2, rzbx] = "";
                            rzby = rzby - 1;
                        }
                    }
                }
                Console.Clear();    //清除控制台缓冲区和相应的控制台窗口的显示信息。... 
                for (int i = 0; i < 10; i++)
                {
                    for (int j = 0; j < 10; j++)
                    {
                        Console.Write(serwei[i, j]);
                    }
                    Console.WriteLine();
                }
                if (serwei[8, 7] == "")
                {
                    Console.WriteLine("游戏结束");
                }
            }


            Console.ReadLine();

 

posted @ 2015-06-12 14:09  骏码信息  阅读(617)  评论(0编辑  收藏  举报