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(); } }
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("Вы прошли игру"); //} } }
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; } } }