Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Програма для гри у шахи

Реферат Програма для гри у шахи





ate_steps [999] [2];// Координати Середніх ходівm_and_n_was_swapped=false;

//begin и end - координати качана руху та кінцевого пунктуbegin_and_end_was_swapped=false; abs (int x)

{x lt; 0?-x: x;

} show_result ()

{

//номер Першої на вивід середньої клітінкі, останньої та шаг для

//ціклуbg=0, en=steps - 2, step=1;

//номера Першої та Другої координати на вівідn1=0, n2=1;

//если початкова та кінцева клітінка поміняліся місцямі

//Середні виводимо з последнего по перший (begin_and_end_was_swapped)

{(bg, en);=- 1;

} (m_and_n_was_swapped) swap (n1, n2);

lt; lt; steps lt; lt; endl; (int i=bg; i!=en + step; i +=step)

{ lt; lt; intermediate_steps [i] [n1]; lt; lt; lt; lt; intermediate_steps [i] [n2] lt; lt; endl;

}

} solve ()

{

//если ширина дошки довше ее висота, поміняємо ЦІ значення

//координати кожної точки, а у ВІДПОВІДІ вновь поміняємо х і у

//координати кожної точки (або просто віведемо у виде (у; х) (m gt; n)

{(m, n); (xb, yb); (xe, ye); _ and_n_was_swapped=true;

}

//если на отріманій дошці, в Якій Вже висота (за задумом)

//точно довше висота, пункт призначення нижчих початкової позіції

//слона, поміняемо ЦІ точки ((х1; у1) і (х2; у2)) місцямі,

//а в ВІДПОВІДІ віведемо точки в оберненому порядку (yb gt; ye)

{(xb, xe); (yb, ye); _ and_end_was_swapped=true;

}

//поки слона не может потрапіті з 1 ходу з посаткової позіції

//на кінцеву, шукаємо Наступний позицию (abs (xb - xe)!=abs (yb - ye))

{

//перевірімо, чі можна за 2 ходи потрапіті в кінцеву позицию

//для цього перевірімо чі можна з будь Клітини, на якові можна

//перейти 1 ходом слона, потрапіті одним ходом в кінцеву клітінкуcan_reach_in_2_steps=false; (int x=1; x lt;=m amp; amp;! can_reach_in_2_steps; x ++)

{

//Цьом випадка клітінка, что перевіряється буде збігатіся з

//кліткою, на який знаходівся слон, пропустімо їїy=abs (xb - x) + yb; (abs (x - xe) == abs (y - ye))

{

//значить можна з Клітини (xb; у1) потрапіті на клітку (х2; у2)

//за два ходи, перенесемо слона (xb; у1) на клітинку (х; у),

//а в наступній Перевірці циклу abs (xb - xe)!=abs (yb - ye)

//поверне false, и поиск завершіться_reach_in_2_steps=true;=x;=y;

//додамо клітинку (х; у) в масив проміжніх клітін ++;

//если кроків n (і n gt; 1), проміжніх клітін n - 1,

//а номер последнего Кроку n - 2 (через нумерації з нуля) _steps [steps - 2] [0]=x; _steps [steps - 2] [1]=y;

}

}

//если з двох ходів НЕ дійті, просто піднімемося вищє (! can_reach_in_2_steps)

{(xb - 1 gt; m - xb)

{

//если перший ряд далі, підемо вгору-вліво

//вгору підніметься на Стільки клітін, на скільки и наліво +=xb - 1;

//а вліво до Першого ряду=1;

}

{

//Последний ряд далі, тому підемо вгору-вправо

//вгору підніметься на Стільки клітін, на скільки и вправо +=m - xb;

//а вправо до Першого ряду=m;

}

//додамо клітку (xb; у1) в масив проміжніх клітін ++;

//если кроків n (і n gt; 1), проміжніх клітін n - 1,

//а номер последнего Кроку n - 2 (через нумерації з нуля) _steps [steps - 2] [0]=xb; _steps [steps - 2] [1]=yb;

}

} _ result ();

} check_input_data ()

{(m lt; 1 || m gt; 1000) return false; (n lt; 1 || n gt; 1000) return false; (xb lt; 1 || xb gt; m ) return false; (xe lt; 1 || xe gt; m) return false; (yb lt; 1 || yb gt; n) return false; (ye lt; 1 || ye gt; n) return false; true ;

} main (void)

{ gt; gt; m gt; gt; n gt; gt; xb gt; ...


Назад | сторінка 2 з 3 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Return to materialism
  • Реферат на тему: Клітінній рух. Молекулярні Механізми руху клітін. Амебоїдній та війчастій ...
  • Реферат на тему: Іммобілізація ферментів та клітін мікроорганізмів
  • Реферат на тему: Трансформація клітін тютюну (Nicotiana tabacum) путем мікроін'єкцій
  • Реферат на тему: Географічні координати