Ім'я файлу: 05. А та П (ПЗ).doc
Розширення: doc
Розмір: 555кб.
Дата: 24.12.2020
Пов'язані файли:
ПРОЕКТ.docx
Електричний струм. Джерела.doc
dozd_cherv (1).doc
практична 3.doc


1.ВСТУП

Програма яка відома всім під назвою шахи, яку вміє грати навіть школяр. Її можуть грати два партнера на шаховій дошці ( 8 х 8 ) шляхом пересування фігур. Партнером у шаховій партії може бути особа, або комп'ютер.

Шахівниця та її розташування

Шахівниця складається з 64 однакових клітинок, поперемінно світлих (білі поля) та темних (чорні поля).

Шахівниця розташовується між партнерами таким чином, щоб кутове поле праворуч від кожного шахіста було білим.

Ряд з 8 полів, що йде від краю шахівниці, найближчого до одного партнера, до краю дошки, найближчого до другого партнера, називається вертикаллю.

Ряд з 8 полів, що йде від одного краю шахівниці до другого під прямим кутом до вертикалей називається горизонталлю.

Ряд полів однакового кольору, що торкаються один одного кутами називається діагоналлю.

Введення партії

Коли почалась гра обидва партнери повинні грати за чергою, роблячи щоразу лише один хід. Хто грає білими той ходить першим. Кому грати білими, вирішує жереб чи домовленість гравців.

Фігури та їх розташування

Перед початком гри кожний партнер розпоряджається 16 фігурами:

  • 8 пішаків;

  • 2 тури;

  • 2 коні;

  • 2 слони;

  • 1 королева;

  • 1 король.



Загальне поняття ходу

За виключенням рокіровки, ходом називається пересування однієї фігури з одного поля на інше, вільне чи зайняте фігурою суперника. Ходи в шахах виконуються суперниками по черзі.

Жодна з фігур, за виключенням тури під час рокіровки та коня, не може перетинати поле зайняте іншою фігурою (перестрибувати інші фігури).

Якщо фігура пересувається на поле, зайняте фігурою суперника, то фігура суперника повинна бути знята з дошки гравцем, який зробив хід. Такий хід називається взяттям. Єдиною фігурою, яка не може бути взята і знята з дошки, є король. Рокіровка виконується таким чином: король пересувається по горизонталі на дві клітини. Тура при цьому встановлюється на клітину, через яку перестрибнув король, тобто король опиняється за турою, з якою він зробив рокіровку. Рокіровка остаточно неможлива якщо король під час партії рухався. Також рокіровка неможлива з турою, яка вже рухалась. Рокіровка тимчасово неможлива якщо поле, на якому перебуває король, чи поле, яке він має перестрибнути чи зайняти, перебуває під ударом фігури суперника. Також рокіровка неможлива якщо на горизонталі між королем і відповідною турою є інша фігура - власна чи фігура суперника.

  • Королева — ходить по вертикалях, діагоналях та горизонталях на яких вона перебуває.

  • Король ­–– ходить на одну клітинку по вертикалях, діагоналях та горизонталях. Позиції після короткої(внизу) та довгої(наверху) рокіровки.

  • Тура — ходить по вертикалях та горизонталях на яких вона перебуває.

  • Слон — ходить по діагоналях, на яких він перебуває.

  • Кінь — хід конем складається з двох пересувань:

на одне поле по вертикалі чи горизонаталі, потім віддаляючись від вихідного поля на одне поле по діагоналі. Для простішого уявлення його хід нагадує букву "Г". кінь може перескакувати через фігури що стоять на його шляху, а саме на клітинах ніжки уявної букви "Г"

  • Пішаки — пересуваються на одне поле лише вперед, за виключенням взяття. Зі стартової позиції пішак може піти як на одну так і на дві клітини. Пішак може взяти будь-яку фігуру суперника, яка розташована попереду нього на одну клітину по діагоналі. Якщо пішак робить перший хід одразу на дві клітини і після ходу опиняється в одній горизонталі поруч з пішаком суперника, то такий пішак може бути взятий сусіднім пішаком суперика шляхом переходу на поле, через яке перейшов пішак. Це взяття називають "Взяття на проході". Воно може бути здійснене лише відразу після того, як суперник зробив такий хід. Будь-який пішак, що досягає крайньої горизонталі, повинен бути замінений тим же ходом на королеву, туру, слона чи коня того ж кольору, що й пішак.


Здійснення ходу

Хід вважається здійсненим якщо:

  • при пересуванні фігури на вільне поле, коли рука гравця відпустила фігуру

  • при взятті, коли взяту фігуру знято з дошки і коли гравець поставивши на нове місце свою фігуру, відпустви її

  • при рокіровці, коли рука гравця відпустила туру, що стала на поле, яке пересік король; коли гравець випустив з своєї руки короля хід ще не вважається закінченим, але немає більше права робити інший хід крім рокіровки

  • при перетворенні пішака, коли пішака знято з дошки і гравець відняв руку від нової фігури, поставленої на поле перетворення, якщо гравець відняв руку від пішака, що дасягнув поля перетворення, хід ще не закінчений, але немає більше права піти пішаком на інше поле.

Доторкання до фігури

Попередивши завчасно партнера, гравець може поправити розташування однієї або кількох фігур на їх полях. В іншому випадку, якщо гравець доторкнеться:

  • до однієї чи більше фігур одного кольору, він повинен піти або взяти першу фігуру, до якої доторкнувся, якою можна піти чи яку можна взяти

  • До однієї з своїх фігур і до однієї з фігур противника, він повинен взяти фігуру противника своєю фігурою; чи, якщо і це неможливо, піти своєю фігурою; чи, якщо і це неможливо, взяти фігуру противника будь-якою іншою фігурою. Якщо хід чи взяття неможливі, гравець може зробити будь-який хід.

ШАХ

  • Шах королю має місце, коли поле, яке він займає, опинилося під ударом фігур противника. В цьому випадку говориться, що фігура оголосила шах королю.

  • Шах королю повинен бути відбитий наступним ходом. Шах можна відбити в один з наступних способів:

    • відійти королем на поле, що не знаходиться під ударом фігур суперника,

    • узяти фігуру, що загрожує королю, чи прикрити короля, перемістивши іншу свою фігуру під удар на поле що знаходиться між королем і атакуючою його фігурою. Прикрити короля неможливо від атаки конем.

  • Якщо шах неможливо відбити наступним ходом, то оголошується мат і гравець, який поставив шах-мат, оголошується переможцем партії.

Виграш партії

  • Партія вважається виграною шахістом, який дав мат королю партнера

  • Партія вважається виграною тим з партнерів, противник якого визнав себе переможеним

  • Партія вважається виграною, якщо у одного з шахістів закінчився час на ходи, відведений регламентом партії, і у його суперника при цьому на дошці залишилося достатньо фігур, щоб поставити мат за умови найменш компетентної гри суперника. Переможеним у партії визнається шахіст, у якого закінчився час.

НІЧИЯ

Партія закінчується внічию:

  • В становищі, коли можливість виграшу виключена (король проти короля, король проти короля зі слоном чи конем, король зі слоном проти короля зі слоном (при однокольорових слонах))

  • Якщо король гравця (при його черзі ходу) не перебуває під шахом і цей гравець не може зробити жодного ходу. Таке становище називається патом

  • При взаємній згоді гравців

  • За вимогою гравця, якщо одна і та ж позиція виникає три рази, причому черга ходу щоразу буде за цим гравцем. Позиція вважається повтореною, якщо фігуру одного і того ж найменування і кольору займають одні і ті ж поля і якщо однакові можливості гри цими фігурами. Але це можна зробити лише тоді, коли ти записуєш партію.

  • Коли гравць до здійснення ходу доводить, що обома сторонами зроблено щонайменше 50 ходів, протягом яких жодна фігура не була взята і жоден пішак не зробив ходу, але лише при наявності запису партії.

  • Якщо в одного з шахістів закінчився час на ходи, відведений регламентом партії, і у його суперника при цьому на дошці не достатньо фігур, щоб поставити мат за умови найменш компетентної гри суперника.

Виключеннями є кінь проти пішака чи тури(мат можливий, але тоді зарахується нічия), чи офіцер проти пішака.

2. МОВА та СЕРЕДОВИЩЕ ПРОГРАМУВАННЯ

2.1 Мова програмування

Свої шахи я створив на мові С ++ чому саме я вибрав цю мову:

C++ — універсальна мова програмування високого рівня з підтримкою декількох парадигм програмування. Зокрема: об’єктно-орієнтованої та процедурної. Розроблена Б’ярном Страуструпом (англ. Bjarne Stroustrup) в AT&T Bell Laboratories (Мюррей-Хілл, Нью-Джерсі) у 1979 році та названа «С з класами». Страуструп перейменував мову у C++ у 1983 р. Базується на мові Сі. Визначена стандартом ISO/IEC 14882:2003.

У 1990-х роках С++ стала однією з найуживаніших мов програмування загального призначення.

Особливості цієї мови

При створенні С++ прагнули зберегти сумісність з мовою С. Більшість програм на С справно працюватимуть і з компілятором С++. С++ має синтаксис, заснований на синтаксисі С.

Нововведеннями С++ порівняно з С є:

  • підтримка об'єктно-орієнтованого програмування через класи;

  • підтримка узагальненого програмування через шаблони;

  • доповнення до стандартної бібліотеки;

  • додаткові типи даних;

  • обробка винятків;

  • простори імен;

  • вбудовані функції;

  • перевантаження операторів;

  • перевантаження імен функцій;

  • посилання і оператори управління вільно розподіленою пам'яттю.


Технічний огляд

В 1998 році мова С++ була стандартизована Міжнародною організацією стандартизації під номером 14882:1998 — Мова Програмування С++. В даний час робоча група МОС працює над новою версією стандарту під кодовою назвою C++09 (раніше відомий як C++0X), який має вийти в 2009 році.

Стандарт Сі++ на 1998 рік складається з двох основних частин: ядра мови і стандартної бібліотеки. Стандартна бібліотека С++ увібрала в себе бібліотеку шаблонів STL, що розроблялася одночасно із стандартом. Зараз назва STL офіційно не вживається, проте в кругах програмістів на С++ ця назва використовується для позначення частини стандартної бібліотеки, що містить визначення шаблонів контейнерів, ітераторів, алгоритмів і функторів.

Стандарт С++ містить нормативне посилання на стандарт Сі від 1990 року і не визначає самостійно ті функції стандартної бібліотеки, які запозичуються із стандартної бібліотеки С.

Поза тим, існує величезна кількість бібліотек С++, котрі не входять в стандарт. У програмах на С++ можна використовувати багато бібліотек С.

Стандартизація визначила мову програмування С++, проте за цією назвою можуть ховатися також неповні, обмежені достандартні варіанти мови. Спочатку мова розвивалася поза формальними рамками, спонтанно, у міру завдань, що ставилися перед ним. Розвиткок мови супроводив розвиток кросс-компілятора Cfront. Нововведення в мові відбивалися в зміні номера версії кросс-компілятора. Ці номери версій кросс-компілятора розповсюджувалися і на саму мову, але стосовно теперішнього часу мову про версії мови С++ не ведуть.

Нові можливості

Мова С++ багато в чому є надмножиною С. Нові можливості С++ включають оголошення у вигляді виразів, перетворення типів у вигляді функцій, оператори new і delete, тип bool, посилання, розширене поняття константності, функції, що підставляються, аргументи за умовчанням, перевизначення, простори імен, класи (включаючи і всі пов'язані з класами можливості, такі як успадкування,

функції-члени (методи), віртуальні функції, абстрактні класи і конструктори), перевизначення операторів, шаблони, оператор ::, обробку винятків, динамічну ідентифікацію і багато що інше. Мова С++ також у багатьох випадках строго відноситься до перевірки типів, порівняно з С.

У С++ з'явилися коментарі у вигляді подвійної косої риски («//»), які були в попереднику С — мові BCPL.

Деякі особливості С++ пізніше були перенесені в С, наприклад ключові слова const і inline, оголошення в циклах for і коментарі в стилі С++ («//»). У пізніших реалізаціях С також були представлені можливості, яких немає в С++, наприклад макроси vararg і покращена робота з масивами-параметрами.

Об’єктно-орієнтовані можливості мови

С++ додає до С об'єктно-орієнтовані можливості. Він вводить класи, які забезпечують три найважливіші властивості ООП: інкапсуляцію, успадкування і поліморфізм.

2.2 Середовище програмування

Створюючи програму я використовував середовище програмування Visual Studio 2012. Microsoft Visual Studio — серія продуктів фірми Майкрософт, які включають інтегроване середовище розробки програмного забезпечення та ряд інших інструментальних засобів. Ці продукти дозволяють розробляти як консольні програми, так і програми зграфічним інтерфейсом, в тому числі з підтримкою технології Windows Forms, а також веб-сайти, веб-додатки, веб-служби як в рідному, так і в керованому кодах для всіх платформ, що підтримуються Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework та Microsoft Silverlight. Цей програмний продукт був написаний на мові C++ і C#.

Visual Studio включає один або декілька з наступних компонентів:

  • Visual Basic .NET, а до його появи — Visual Basic

  • Visual C++

  • Visual C#

  • Visual J#

  • Visual F# (входить до складу Visual Studio 2010);

  • Visual Studio Debugger

Багато варіантів постачання також включають:

  • Microsoft SQL Server або

  • MSDE Visual Source Safe — файл-серверна система управління версіями

У минулому, до складу Visual Studio також входили продукти:

  • Visual InterDev;

  • Visual J++;

  • Visual J#;

  • Visual FoxPro;

  • Visual Source Safe – файл-серверна система управління версіями.

Visual Studio 2012 це остання версія Visual Studio і яка була представлена 2 серпня 2012 року. Головні нововведення це підтримка Windows RunTime, C++/CX(Component Extensions), бібліотека C++ AMP для GPGPU програмування, компілятор Visual C++ підтримує стандарт C++11. З'явився новий тип проектів, котрі дозволяють писати рідні застосунки (у стилі Windows Metro) для операційної системи Windows 8.


3. РЕАЛІЗАЦІЯ ПРОГРАМИ МОВОЮ С++

3.1 Проект CLR в Visual Studio 2012

П рограму було реалізовано в проекті CLR (Common Language Runtim). Щоб створити цей проект, потрібно в першу чергу відкрити Visual Studio 2012 і вибрати в верхній частині меню «Файл», а потім підменю «Створити» і кнопку «Новий проект» (див. рисунок 3.1).

Рисунок 3.1 – Створення нового проекту в Visual Studio 2012

Після того як відкриється вікно створення нового проекту, вибираємо меню «Visual C++», а потім тиснемо на пункт «CLR», де вибираємо «Пустий проект CRL» (див. рисунок 3.2).

Віртуальна машина CLR дозволяє програмістам забути про багато деталей про конкретний процесор, на якому виконуватиметься програма. CLR також забезпечує такі важливі служби як:

  • управління пам'яттю

  • управління потоками

  • обробка винятків

  • збірка сміття

  • безпека виконання


CLR - це стандартизоване середовище виконання програм, написаних на широкому діапазоні високорівневих мов, включаючи Visual Basic, С # і звісно C++. Специфікації CLR в даний час вбудовані в стандарт ЕСМА (European Association for Standardizing Information and Computer Systems - Європейська асоціація по стандартизації інформаційних і обчислювальних систем) інфраструктури спільної мови (Common Language Infrastructure - CLI) - ECMA-335, а також в аналогічний стандарт ISO - ISO / IEC 23271, тому CLR являє собою реалізацію цього стандарту. Ви бачите, чому C + + для CLR називається C + + / CLI - це C + + для CLI, тому мабуть, що з часом ви будете мати справу з компіляторами C + + / CLI для інших операційних систем, які реалізують CLI.

Рисунок 3.2 – Створення порожнього проекта CLR Visual Studio 2012


3.2 Використання бібліотек

Для створення програми шахів мені знадобилося дві своїх бібліотек і п’ять стандартних бібліотек мови C++: «gnuchess.h», «ataks.h», «ctype.h», «signal.h», «dos.h», «stdlib.h», «string.h».

«gnuchess.h» - власна бібліотека, яку я створив для назви своїх шах. У ній можна задавати шахатну доску та фігури.

«ataks.h» - також власна бібліотека, де я задавав алгоритм атаки одних фігур на інші.

«ctype.h» - заголовний файл стандартної бібліотеки мови програмування С++ який містить оголошення функцій для класифікації символів.

«signal.h» — заголовний файл стандартної бібліотеки мови програмування С, що використовується для зазначення того, як програма обробляє сигнали під час свого виконання. Сигнал може сповіщати про деяке відхилення від очікуваної поведінки програми (як, наприклад, ділення на нуль) або про деякі асинхронних події, що відбулися поза програмою (наприклад, якщо хтось натиснув кнопку переривання програми на клавіатурі).

Сигнал може генеруватися при виклику RAISE (посилає сигнал поточному процесові) або Kill (посилає сигнал будь-якого процесу). Кожна реалізація визначає якийсь сигнал, що генерує і визначає їх генерацію. Реалізація може визначати сигнали, які відрізняються від перерахованих тут. Стандартний заголовний файл може визначати додаткові макроси з іменами, які починаються з SIG, для вказання значення цих додаткових сигналів. Усі подібні значення є цілими константні виразами >= 0.

«stdlib.h»  заголовний файл стандартної бібліотеки мови Сі, який містить в собі функції, які займаються виділенням пам'яті, контроль процесу виконання програми, перетворення типів та інші. Тема цілком сумісний з C + + і відомий у ньому як cstdlib. Назва «stdlib» розшифровується як «standard library»

«string.h» – заголовний файл стандартної бібліотеки мови Сі, що містить функції для роботи з нуль-термінованими рядками і різними функціями роботи з пам'яттю.

Функції оголошені в string.h широко використовуються, оскільки будучи частиною стандартної бібліотеки, вони гарантовано працюють на всіх платформах, що підтримують Сі. Однак, існують деякі потенційні проблеми з безпекою, такі як переповнення буферу, що спонукає на користь вибору безпечніших, можливо менш переносимих варіантів. Крім цього, строкові функції працюють тільки з набором символів ASCII або його сумісними розширеннями, такими як ISO 8859-1; багатобайтові кодування такі як UTF-8 будуть працювати, з відзнакою, що «довжина» рядку буде визначатися як число байтів, а не число символів Юнікоду, яким вони відповідають. Несумісні з ASCII рядки зазвичай обробляються кодом описаним в wchar.h.

Більшість функцій string.h не роблять ніякого виділення пам'яті і контролю меж; цей обов'язок цілком лягає на плечі програміста.

4. ІНСТРУКЦІЯ КОРИСТУВАЧА

  1. Компілюємо нашу програму.

  2. Запускаємо вже готовий .exe файл.

  3. Робимо перший хід у шахах.

  4. Після завершення гри закриваємо програму.


5.ТЕСТ ПРОГРАМИ

5.1 Меню програми

Граючи GNU Шахові

Гра

Редагувати

Опції

Майстерність

Сторона

Дошка

Підказка

Меню ігри

Нове

Скинути дошки та години, щоб почати нову гру.

Відкрити

Отримати та відновлення відтворення раніше збережену гру.

Економити

Збережіть гру, щоб продовжити його пізніше.

Список

Перерахуйте ході гри у файл.

Вихід

Вихід GNU шахи.

Меню Редагувати

Налаштування ради

Дозволяє вміст дошки для редагування. Частини можуть бути переміщені в будь-якому місці на борту. Щоб видалити частину, натисніть праву кнопку або двічі натисніть ліву кнопку на своїй площі. Зверніть увагу, що королі не можуть бути видалені. Щоб додати шматочок до дошки, натисніть кнопку на панелі і клацніть на відповідній площі. Натисніть кнопку ще раз для виклику вікна. Фігури не можуть бути переміщені в той час як кнопка натиснута. Кнопки можуть також управлятися за допомогою клавіш 1 до 9 і 0 (0 чорний ферзь). Ходи можуть бути ключами за допомогою F2. Якщо кнопка натиснута, введіть координати призначення квадрат. По закінченні виберіть зробити з меню. Виберіть Очистити дошці, щоб видалити всі частини, крім царів, і відновлення ради для відновлення нормального запуску плати. Рада редактора корисна для створення шахових задач на дошці.

Огляд ігор

Replay грі один хід одночасно. Використовуйте меню, щоб побачити наступний крок або прийняти назад попередньому ходу. Replay працює правильно тільки для ігор, починаючи з нормального пуску дошку, не один набір по-різному використання плати редактора.

Анулювати

Скасувати останній хід.

Видалення

Відміна останніх трьох ходів.

Меню опцій

Сигнал

Звуковий сигнал, коли комп'ютер створив рух.

Координати

Табло координат.

Пошук Статистика

Показати статистику пошуку.

Анімований пошук

Див анімацію процесу пошуку. Зверніть увагу, що пошук відбувається набагато повільніше, з цією опцією.

Мішанина

Уможливлює використання хеш файлу, якщо такий існує. Хеш файлу дозволяє програмі дізнатися з попередніх ігор.

Глибина Hash

Дозволяє користувачеві змінювати мінімальну глибину для використання hashfile і кількість ходів з самого початку в грі, щоб використовувати його.

Створити Hashfile

Створіть хеш файлу. Фактичний розмір введеного числа помножене на 38 байт. Якщо розмір менше 24, від 2 до ступеня числа використовується. 16 по 17 є хорошим розміром для використання. Хеш файлу може поліпшити здібності гри на комп'ютері. Це, ймовірно, розмістити значний попит на жорсткому диску комп'ютера під час розрахунку її хід.

Перехід між вікнами

Змініть деякі Paramaters використовується алгоритм пошуку. Як правило, використовувати значення за замовчуванням.


Презирство

Встановлює, скільки презирства комп'ютер для гравця. Презирство означає, що комп'ютер буде взяти на себе ризик в надії на те, що гравець не побачить потенційний хороший хід. Чим вище презирства, тим більше ризик, що комп'ютер готовий прийняти.

Матеріал

Намалюйте на відсутність матеріалу.

Відбити

Використання евристичних повернути.

Загроза

Використання евристичних загрозу.

PVS

Використовуйте PVS евристичного.

Новий Eval

Включити нові оцінки

Gamein

Використовуйте gamein часу. Припускає, час, вказаний для управління часом настав час для повної гри.

Меню Майстерність

Навичка меню

Встановіть час контролю. Вкажіть кількість ходів, щоб в певний час. Коли час минув, записи на другій і третій лінії будуть використані, якщо вони не рівні нулю, в іншому випадку годинник будуть скинуті до останніх набору, використовувані. Наприклад, якщо ви введете 20 і 10 на першій лінії і 1 і 1 на другій лінії, комп'ютер буде генерувати 20 ходів в 10 хвилин, потім 1 перемістити кожну хвилину після цього. Якщо один Paramater на першій лінії дорівнює нулю, комп'ютер зробить кожен хід протягом часу, зазначеного в максимальний контроль часу відгуку.

випадковий

Randomize ходу вибору незначно.

легко

Якщо легкий режим вимкнений, комп'ютер думає про свій наступний ходу під час повороту супротивники.

глибина

Встановити максимальну глибину пошуку. Щоб зменшити складність гри, це може бути зменшено до мінімуму 2.
Меню Сторона

Зворотні ради

Зворотні плати.

Перемикання

Перейти на його бік з комп'ютером. Рада буде скасовано, якщо необхідно, щоб Ваші п'єси на фронті.

Переключити але не змінює

Те ж, що комутатор, але це гарантує, що не хід комп'ютера після перемикання. Це корисно, якщо ви налаштували позицію з дошкою редактор і хочете, щоб комп'ютер грати білими з чорними переміщення в першу чергу.

чорний

Комп'ютер грає чорними. Рада може бути скасоване як для комутатора.

білий

Комп'ютер грає білими. Рада може бути скасоване як для комутатора.

обидва

Комп'ютер грає проти нього самого.

Хід білих / Хід чорних

Зміна переміщення яких вона є.

Сили

Дозволяє користувачеві ввести ходи для обох сторін. Плата може бути використана для відтворення гри між двома людьми, у той час як сили включено.

Меню Дошка

Кольори

Розмір

Встановити розмір дошки. Малий вміщується на 640 X 480 екрану, середня вміщується на 800 X 600 екран і великий становлюється на 1024 X 768.

Тип

Встановити плату тип квадратної або змодельовані 3D.

Меню Підказка

Показує найкращий хід для вас, який ви можете зробити. Ви також можете використовувати Ctrl-H.
5.2 Тестування гри

Щоб почати нову гру, вам потрібно натиснути «Game» > «New». І почнеться нова гра у шахи.




Рис. 5.1 – головне вікно гри у шахи.


Ось усі фігури, ми можемо розставити самі:




Рис. 5.2 –вікно усіх фігур у шахах.

Існує багато варіантів Ходу Короля. Ось один із них коли чорна Дама поставила К оролю шах:


Рис. 5.3 – Шах Королю Дамою, Хід Короля


Т акож ми можемо спостерігати коли Дама та Офіцер противника поставили ШАХ-і- МАТ Королю:
frame4
В ИСНОВКИ

В результаті курсової роботи було розроблено алгоритм, а потім створено програмну гру в шахи. Кожний може зіграти в цю логічну іргу. Шахи мають виховне значення: сприяють розвитку концентрації уваги, вміння долати труднощі та планування власних дій, логічно мислити. Оскільки у грі в шахи виявляються особливості людської особистості, вони використовуються у якості моделі наукових досліджень в психології та педагогіці. Також використовуються для моделювання систем штучного інтелекту.

Чемпіонат України


21 червня 2011 року після виграшу 11 партії чемпіоном України став Руслан Пономарьов із Києва. Хоча Руслан і був вже чемпіоном світу, але ще жодного разу не був чемпіоном України, оскільки не приймав участі в чемпіонаті України. Рівень чемпіонату був дуже високий — 12 найсильніших гросмейстерів України, серед них колишні чемпіони України.

Чемпіон світу з шахів — титул офіційного чемпіона світу з шахів. З 1948 року змагання за титул чемпіона проходять під егідою ФІДЕ. До того, у 1886—1947 роках матчі за чемпіонство проводили за взаємною згодою чемпіона і претендента. Першим чемпіоном світу став Вільгельм Стейніц у 1886 році. Першим чемпіоном світу ФІДЕ став Михайло Ботвинник у1948 році.

ПЕРЕЛІК ПОСИЛАНЬ


  1. Роберт Седжвик. Фундаментальные алгоритмы на C. Анализ/Структуры данных/Сортировка/Поиск = Algorithms in C. Fundamentals/Data Structures/Sorting/Searching. — СПб.: ДиаСофтЮП, 2003. — С. 672.

  2. Герберт Шилдт - C C++. Справочник программиста.

3. Шаховий кодекс СРСР. - К.: Здоров'я, 1980. - 44 с.

4. Программирование на языке C++ в Microsoft Visual Studio 2010
Э.Э. Александров, В.В. Афонин.

5. C/C++ и MS Visual C++ 2010 для начинающих. Хортон Айвор. 
скачати

© Усі права захищені
написати до нас