コード例 #1
0
ファイル: Game.cs プロジェクト: CofeJokey/15Puzzle2.3
        public void Shift(int value, Game3 games)
        {
            try
            {
                //  Console.WriteLine(value);
                if (value < 0 || value > 15)
                {
                    throw new ArgumentException();
                }


                int zeroLoctionX = GetLoc(0).x;
                int zeroLoctionY = GetLoc(0).y;

                int ValueX = GetLoc(value).x;
                int ValueY = GetLoc(value).y;

                if ((ValueX == zeroLoctionX && (ValueY == zeroLoctionY - 1 || ValueY == zeroLoctionY + 1)) ||
                    (ValueY == zeroLoctionY && (ValueX == zeroLoctionX - 1 || ValueX == zeroLoctionX + 1)))
                {
                    ItemsNew[zeroLoctionX, zeroLoctionY] = value;
                    ItemsNew[ValueX, ValueY]             = 0;

                    var vere = ItemsValue[0];
                    ItemsValue[0]     = ItemsValue[value];
                    ItemsValue[value] = vere;
                    games.History(value);
                }

                else
                {
                    throw new Exception();
                }
            }

            catch (ArgumentException)
            {
                Console.WriteLine("Нет такого числа. ");
                Console.WriteLine();
            }
            catch (Exception)
            {
                Console.WriteLine("Некуда двигать. ");
                Console.WriteLine();
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            // Game game3 = new Game(7, 8, 0, 2, 3, 1, 4, 6, 5, 9, 10, 11, 12, 13, 14, 15);
            Game3 game4 = new Game3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 15);

            //   Game2 game = new Game2();
            game4.RandomValues();
            Console.WriteLine("***** Игра в 15 ****");
            Console.WriteLine();
            game4.Print();
            while (true)
            {
                Console.WriteLine("Выберите действие:" + Environment.NewLine + "1 - играть" + Environment.NewLine + "2 - отмена хода" + Environment.NewLine + "6 - выход");


                try
                {
                    int key = Convert.ToInt16(Console.ReadLine());
                    if (key <= 0 || key > 6)
                    {
                        throw new Exception();
                    }

                    switch (key)
                    {
                    case 1:
                        Console.WriteLine("Двигайте цифру");
                        int NewValue = Convert.ToInt16(Console.ReadLine());
                        game4.Shift(NewValue, game4);
                        game4.Print();
                        if (game4.EndGame())
                        {
                            // game4.Print();
                            Console.WriteLine("Вы прошли игру");
                            break;
                        }
                        Console.WriteLine("1 - Отменить перемещение, 2 - продолжить игру");
                        try
                        {
                            int keys = Convert.ToInt16(Console.ReadLine());
                            if (keys <= 0 || keys > 2)
                            {
                                throw new Exception();
                            }
                            switch (keys)
                            {
                            case 1:
                                //    Console.WriteLine("awdawd");
                                game4.StepBack(NewValue);
                                game4.Print();
                                break;

                            case 2:
                                break;


                            default: break;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("Недопустимый символ, попробуйте еще раз");
                        }

                        break;

                    case 2:

                        Console.WriteLine("не доработано");
                        break;

                    case 6:
                        Environment.Exit(0);
                        break;

                    default:
                        break;
                    }
                }



                catch
                {
                    Console.WriteLine("Недопустимый символ, попробуйте еще раз");
                }

                //if (game4.EndGame())
                //{
                //    game4.Print();
                //    Console.WriteLine("Вы прошли игру");

                //}
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: CofeJokey/15Puzzle2.3
        static void Main(string[] args)
        {
            int i;

            int[] p = new int[100];

            for (i = 0; i < 16; i++)
            {
                p[i] = i + 1;
            }

            p[15] = 0;
            Game2 game2 = new Game2(p, i);

            game2.RandomValues(p);
            Game3 game1 = new Game3(p, i);

            //   Game game1 = new Game(p, i);
            game1.RandomValues(p);
            //  while (true)
            //    {
            //      Console.WriteLine("Выберите действие:" + Environment.NewLine + "1 - играть" + Environment.NewLine + "6 - выход");


            //    try
            //       {
            //int key = Convert.ToInt16(Console.ReadLine());
            //if (key <= 0 || key > 6) { throw new Exception(); }

            //       switch (key)
            //      {
            //         case 1:

            for (; ;)
            {
                game1.Print();

                Console.WriteLine("Двигайте цифру ");

                int a = Convert.ToInt32(Console.ReadLine());

                game1.Shift(a, game1);
                //      while (true)
                //   {
                game1.Print();
                //        Console.WriteLine("1 - Отменить шаг, 2 - продолжить игру, 3 - выход, 4 - шаг назад");
                Console.WriteLine("1 - Отменить шаг, 2 - продолжить игру, 3 - выход");
                try
                {
                    int key = Convert.ToInt16(Console.ReadLine());
                    if (key <= 0 || key > 6)
                    {
                        throw new Exception();
                    }
                    switch (key)
                    {
                    case 1:
                        game1.Undo(a);
                        game1.Print();
                        Console.WriteLine("1 - Вернуть откат, 2 - Продолжить игру ");
                        try
                        {
                            int keys = Convert.ToInt16(Console.ReadLine());
                            if (keys <= 0 || keys > 2)
                            {
                                throw new Exception();
                            }
                            switch (keys)
                            {
                            case 1:
                                game1.Redo(a);

                                break;

                            case 2:

                                break;

                            default:

                                break;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("Недопустимый символ, попробуйте еще раз");
                        }
                        break;

                    case 2:



                        break;

                    case 3:
                        Environment.Exit(0);

                        break;

                    //     case 4:
                    //           game1.Redo(a);
                    //         break;
                    default:

                        break;
                    }
                }

                catch
                {
                    Console.WriteLine("Недопустимый символ, попробуйте еще раз");
                }

                if (game1.EndGame())
                {
                    game1.Print();
                    Console.WriteLine("Вы прошли игру");

                    break;
                }
            }
        }