Программирование для мобильных платформ. Windows Phone. Иван Трещев

Чтение книги онлайн.

Читать онлайн книгу Программирование для мобильных платформ. Windows Phone - Иван Трещев страница 8

Программирование для мобильных платформ. Windows Phone - Иван Трещев

Скачать книгу

(Region1, Region2);

      }

      public void ExchangeValuesOfHorizontalRegions (short Region1, short Region2)

      {

      if (Region1!= Region2)

      {

      short lineTemp1;

      short lineTemp2;

      short lineTemp3;

      for (short i = 0; i <9; i++)

      {

      lineTemp1 = field [Region1 * 3, i].Value;

      lineTemp2 = field [Region1 * 3 +1, i].Value;

      lineTemp3 = field [Region1 * 3 +2, i].Value;

      field [Region1 * 3, i].Value = field [i, Region2 * 3].Value;

      field [Region1 * 3 +1, i].Value = field [i, Region2 * 3 + 1].Value;

      field [Region1 * 3 +2, i].Value = field [i, Region2 * 3 + 2].Value;

      field [Region1 * 3, i].Value = lineTemp1;

      field [Region1 * 3 +1, i].Value = lineTemp2;

      field [Region1 * 3 +2, i].Value = lineTemp3;

      }

      }

      }

      // Освобождение клеток на поле

      public void DeleteNumbersFromField ()

      {

      Random rand = new Random ();

      for (short k = 0; k <9; k++)

      {

      short [] randString = new short [9];

      numbers = new short [9] {0, 1, 2, 3, 4, 5, 6, 7, 8};

      for (short i = 0; i <9; i++)

      {

      short temp = (short)(rand.Next (45689 * (i +1) – 6) % (9 – i));

      randString [i] = numbers [temp];

      for (short j = temp; j <9 – i – 1; j++)

      {

      numbers [j] = numbers [j +1];

      }

      }

      short tempRand = (short)(rand.Next (4, 7));

      for (short t = 0; t <tempRand; t++)

      {

      field [k, randString[t]].Value = 0;

      }

      for (short t = tempRand; t <9; t++)

      {

      field [k, randString[t]].Standard = true;

      }

      }

      }

      // Проверка условий победы

      public bool Win ()

      {

      bool flag = true;

      short full = 0;

      SearchRepeats ();

      // Подсчет заполненных клеток

      for (short i = 0; i <9; i++)

      {

      for (short j = 0; j <9; j++)

      {

      if (field [i, j].Value!= 0)

      {

      full++;

      }

      }

      }

      // Если заполненны все клетки

      if (full == 81)

      {

      for (short i = 0; i <9; i++)

      {

      for (short j = 0; j <9; j++)

      {

      // Если есть повтор

      if (field [i, j].Repeat)

      {

      flag = false;

      break;

      }

      }

      if (!flag)

      {

      break;

      }

      }

      }

      // Если все заполненно и нет ошибок – заблокировать поле

      if (flag && full == 81)

      {

      for (short i = 0; i <9; i++)

      {

      for (short j = 0; j <9; j++)

      {

      field [i, j].Standard = true;

      }

      }

      }

      return (flag && full == 81);

      }

      // Проверка повторений во всех строках/столбцах/квадратах

      public void SearchRepeats ()

      {

      // Нет повторений

      for (short i = 0; i <9; i++)

      {

      for

Скачать книгу