Розробка ігрової програми "Багатостороння дуель"

Розробка та схема алгоритму проектованої гри. Особливості мови програмування та середовища "Microsoft Visual Studio C++ 2008 Express Edition". Лістинг програми та загальний опис її роботи, аналіз отриманих результатів та оцінка практичної ефективності.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 03.05.2015
Размер файла 762,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Вступ

алгоритм програма гра

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

Інформаційна технологія -- це технологія організації роботи інформаційної системи або взаємодії кількох інформаційних систем.

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

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

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

1. Постановка задачі

Програму реалізує модель багатосторонньої дуелі. Нижче подано її опис при трьох дуелянтах.

Сем, Білл і Джон (Нижче позначені буквами С,Б,Д) домовились битися на дуелі втрьох за такими правилами:

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

Далі вони розташовуються на однаковій відстані один від одного.

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

Черговий стріляючий може стріляти в будь якого із інших.

Відомо, що С - снайпер і ніколи не промахується з даної дистанції, Б - влучає лише в 80%, а Д - приблизно в 50% випадків. Яка найкраща стратегія для кожного із учасників і яка ймовірність їх виживання, якщо вони використовують оптимальні стратегії?

Розробити програму, яка буде виконувати це завдання. Програма повинна мати меню, мінімальний склад якого такий:

· Авторська заставка

· Робота програми

· Відомості про програму (інструкція)

· Вихід

Всі надписи на екрані повинні бути державною мовою, а не англійською. Необхідні файли підключаються через розробку власних бібліотек.

2. Розробка алгоритму гри «Багатостороння дуель»

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

1. Жеребкування:

a) Вибір першого дуелянта:

1) Оголошується генератор випадкових чилес (1-3). Кожному числу відповідає певний дуелянт.

2) В результаті відмічання гравцем одного з трьох RadioButton-ів виконується одна з трьох умов (змінна приймає значення: 1/2/3).

3) В результаті настиснення кнопки «Обрати 1-ого» відповідно до числа, що було присвоєно змінній в п.2) відображається ім'я першого дуелянта.

b) Вибір другого дуелянта:

1) Оголошується генератор випадкових чилес (1-2). Кожному числу відповідає певний дуелянт (окрім обраного в п.а)).

2) В результаті відмічання гравцем одного з двох RadioButton-ів виконується одна з двох умов (змінна приймає значення: 1/2).

3) В результаті настиснення кнопки «Обрати 2-ого» відповідно до числа, що було присвоєно змінній в п.2) відображається ім'я другого дуелянта.

c) Третім оголошується дуелянт, якого не обрали в п.а) та п.b).

2. Дуель:

a) Дуелянти розміщуються на своїх позиціях після натиснення кнопки «На позиції!»:

1) Їх зображення та імена розміщуюються у вершинах правильного трикутника завдяки тому, що в залежності від порядку стрільби кожному елементу PictureBox із зображенням дуелянта присвоюються відповідні координати на формі, а елементам Label (що вже розміщенні у вершинах) - імена дуелянтів.

2) У верхній правій частині вікна відображаються стратегії деулянта, що сріляє прешим. Оптиамальна стратегія оберається та відмічається зважаючи на ймовірності виживання дуелянта при виборі кожної стратегії (розрахунок ймовірностей описується нижче в пункті «2.5 Опис роботи програми»)

b) Дуелянти перестрілюютсья:

1) Під час натиснення кнопки «1-ша перестрілка»

1.1) Виконується одна з 3-ох умов щодо імені першого дуелянта;

1.2) Оголошується генератор випадкових чисел від 1 до 100;

1.3) В залежності від ймовірності попадання дуелянта ставиться умова <ЙП (>ЙП) і при її виконанні жертва вмирає (виживає і стріляє у відповідь);

1.3.1) Якщо дуелянт влучив у ціль:

1.3.1.1) Алгоритм повторюється для дуелянта, що стріляє наступним (якщо наступний і є жетва даного стрільця, то алгоритм повторюється для наступного після жерви учасника дуелі);

1.3.1.2) Елп.емент PictureBox із зображенням жертви замінюється на елемент із «перекресленим» зображенням жертви в наслідок присвоювання останньому координат першого елемента;

1.3.1.3) Елементу із іменем жетви присвоються напис «ім'я жертви мертвий».

1.3.2) Якщо дуелянт промахнувся, то для його жерви виконуються п.3) - п.1.4.2) (тільки тепер відповіді на невлучний постріл не буде, а виконається п.2)).

2) Під час натиснення кнопки «2-га перестрілка»:

2.1) Виконається одна з 10-и умов щодо ситуації на «полі дуелю» (хто з учасників застрелений, а хто живий);

2.2) Для другого дуелянта повторюється алгоритм п.1.2) - п.1.3.2) (з врахуванням умови: якщо застрелено двоє дуелянтів, то елементу Label11 присвоюється значення «Дуель закінчено!»; а якщо застрелено тільки одного дуелянта - виконується п.3)).

3) Під час натиснення кнопки «3-тя перестрілка»:

3.1) Виконується одна з 4-ох умов щодо ситуації на «полі дуелю»;

3.2) Для третього дуелянта повторюється алгоритм п.1.2) - п.1.3.2) (з врахуванням умови: якщо застрелено двоє дуелянтів, то елементу Label11 присвоюється значення «Дуель закінчено!»; а якщо застрелено тільки одного дуелянта - виконується п.1)).

3. Особливості мови C++

Відповідно до індивідуального завдання на курсову роботу на тему «Розробка ігрової програми `Багатостороння дуель'» розглянемо особливості С++.

C++ - проста, об'єктно-орієнтована, інтерпретована, надійна, безпечна, архітектурно-нейтральна, переносна, високоефективна багатопотокова і динамічно-орієнтована мова. Цей набір слів достатньо точно описує мову С++. Розглянемо кожне з них.

O Безпечність. WorldWideWeb висунула C++ на передній план програмування, і C++, в свою чергу, сильно вплинула і навіть змінила обличчя Internet, розширивши спектр об'єктів, які можуть розповсюджуватись у кібер-просторі. Програми нової форми - аплети -завантажуються з віддаленого сервера і можуть запускатися динамічно, тобто без участі користувача. До появи С++ такий підхід був неприпустимий з міркувань безпеки та переміщуваності. В архітектурі аплетів зроблено ряд штучних обмежень, які роблять їх цілком безпечними. Перш за все, С++ є інтерпретованою мовою і простір ресурсів С++-програми обмежений так званою віртуальною C++ машиною (VJM), яка може контролювати поведінку програми і захищати систему від побічних ефектів, які можуть виникати з вини аплета. Крім того, в мові С++ є додаткові обмеження, які не дозволять аплету стати «троянським конем». Зокрема, C++ аплет не може отримати доступ до локального жорсткого диску. При такій спробі генерується виключна ситуація.

O Ефективність. Оскільки аплети С++ інтерпретуються, а не компілюються, то їх виконання на різних платформах значно полегшується. В цьому випадку достатньо створити для кожної платформи виконуючу С++-систему. Якщо існує така система для даної операційної системи, то будь-яка С++-програма може виконуватись в даному середовищі без додаткової компіляції на цій платформі. Проте С++ не є інтерпретованою мовою в чистому розумінні. Програма на С++ компілюється. Результатом роботи компілятора С++ є байт-код (bytecode). В такий спосіб витрати на інтерпретацію зводяться до мінімуму, оскільки байт-код вже є оптимізованим, і досягається досить висока продуктивність С++-програм.

O Об'єктно-орієнтована спрямованість. С++ успадкувала потужний механізм об'єктно-орієнтованого програмування. Оскільки С++ розроблювався «на пустому місці», тобто не було потреби забезпечувати сумісність з попередніми версіями, розробники мали повну свободу мислення. В результаті був сформований ясний і прагматичний підхід до об'єктів. Вільно переймаючи ідеї, які реалізовувалися протягом останніх десятирічь, мові С++ вдалося знайти рівновагу між парадигмою «все є об'єктом» і прагматичним підходом. Об'єктна модель С++ проста і легко розширюється, в той час як просі типи (як цілі) зберігаються як дані, що не є об'єктами, дозволяють значно підвищити швидкість при їх обробці.

O Стійкість до помилок. Багатоплатформеність середовища Web висуває надзвичайно високі вимоги до надійності програм. Як наслідок, при розробці С++ пріоритет був відданий можливості створення стійких до помилок програм. С++ звільняє програміста від хвилювань з приводу багатьох поширених причин, які викликають помилки програмування. Як вже згадувалося, С++ є строго типізованою мовою програмування. Ще виконуюча система С++ бере на себе «прибирання сміття», тобто автоматично звільняє пам'ять, яка була розподілена динамічно. Звичайно, це дещо знижує ефективність коду, але запобігає типових помилок, коли програміст забуває звільнити виділену пам'ять, або, навпаки, звільняє пам'ять, яка ще використовується. С++ підтримує об'єктно-орієнтовану обробку виключних ситуацій подібно до С. Але на відміну від С в С++ обробка виключних ситуацій є обов'язковою. Тобто неможливо скомпілювати програму, яка відкриває файл, не обробивши можливі помилки типу «файл не знайдено», які виникають при цьому. Добре написана С++-програма може сама обробляти всі помилки часу виконання.

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

O Незалежність від архітектури. Основним питанням для розробників С++ стало питання довготривалості та переміщуваності. Одна з головних проблем, із якою зустрілися програмісти, полягала в відсутності гарантій того, що написана сьогодні програма завтра працюватиме з тим же успіхом, причому на тій самій машині. Оновлення операційної системи, модернізація процесора та зміна об'єму оперативної пам'яті можуть призвести до збою програми. Розробники С++ прагнули змінити цю ситуацію і прийняли декілька важких рішень відносно мови С++ та процесу виконання С++-програми. Їх мета полягала в тому, щоб «одного разу написане працювало всюди, в будь-який час і завжди». Внаслідок цього С++ є системою, яка легко розширюється за рахунок створення нових стандартних класів та бібліотек.

O Розподіленість. Мова С++ призначена для створення програм, які працюють в розподіленому середовищі Internet на базі протоколів TCP/IP. Насправді доступ до ресурсів за допомогою URL відрізняється від доступу к файлу. Крім того в С++ наявний засіб передачі повідомлень в межах внутрішнього адресного простору. Це дозволяє забезпечити віддалене виконання процедур. Ці інтерфейси включені у пакет RMI (remotemethodinvocation). Цей засіб привносить високий рівень абстракції в програмування для середовища клієнт/сервер.

С++-програми несуть у собі значний обсяг інформації про типи часу виконання (run-timetypeinformation), яка використовується для дозволу доступу до об'єктів під час роботи програми. Це дозволяє забезпечити безпечну та оптимальну динамічну компоновку. В такий спосіб досягається захищеність середовища, виконання аплетів, доступність інструментарію та ефективність розробок.

Перспективи застосування. Програми на С++ можуть знайти різне застосування в навчальному процесі: інтерактивні навчаючі програми (HTML в поєднанні з С++), програми-тести і особливо ділові ігри. Додаткові переваги можна отримати, якщо писати ці програми у вигляді аплетів, які ініціалізуються з Web сервера внутрішньої мережі Intranet. В такий спосіб можна уникнути інсталяції програми на багатьох комп'ютерах - користувач просто запускає Web-браузер і завантажує потрібну сторінку. Для тестових програм, написаних на С++ з використанням архітектури клієнт/сервер можна підвищити ступінь конфіденційності. База даних тестових запитань знаходиться на сервері в каталозі з обмеженим доступом. Коли користувач загружає аплет, він (аплет) автоматично підключається до програми-сервера, яка виконується на сервері і може видавати запитання з бази даних у відповідь на запит користувача. В такий спосіб унеможливлюється викрадення бази даних, за умови відсутності фізичного доступу до серверу у користувачів.

Таким чином С++ технологія є дуже перспективною для застосування в розробках некомерційного спрямування. Обмеженість інструментарію С++ не проявляється в проектах невеликого обсягу і легко компенсується простотою програмування розподілених програм, які працюють з мережею Internet/Intranet. Переносимість С++ програм спрощує обмін навчальними програмами між різними навчальними закладами, відкриває можливість сумісних розробок та створення стандартних навчальних програм, наприклад для шкіл.

Крім того, дуже привабливою з точки зору ефективності, залишається ідея втілення в навчальних закладах мережевих комп'ютерів (NetworkComputers), які працюють на базі С++, замість звичних персональних комп'ютерів (PersonalComputers). На останок можна згадати про те що С++ добре підтримує національні абетки, оскільки розроблялася для інтернаціональної мережі Internet. Ця обставина теж є важливою рисою в умовах України. [1,2]

4. Особливості середовища Microsoft Visual Studio C++ 2008 Express Edition

Visual Studio C++ 2008 Express Edition -- вільне модульне інтегроване середовище розробки програмного забезпечення. Розробляється і підтримується Visual Studio С++ 2008 Foundation.

Microsoft Visual Studio C++ 2008 Express Edition являє собою фреймворк для розробки модульних кросс-платформових застосунків із низкою особливостей:

– можливість розробки ПЗ на багатьох мовах програмування (рідною є С++);

– крос-платформена;

– модульна, призначена для подальшого розширення незалежним розробниками;

– з відкритим вихідним кодом;

– розробляється і підтримується фондом Visual Studio 2008, куди входять такі постачальники ПЗ, як IBM, Oracle, Borland.

Спочатку проект розроблявся в IBM як корпоративний стандарт IDE, настановлений на розробки на багатьох мовах під платформи IBM. Потім проект було перейменовано на Microsoft Visual Studio C++ 2008 Express Edition і надано для подальшого розвитку спільноті.

Microsoft Visual Studio C++ 2008 Express Edition, насамперед, повноцінна С++, націлена на групову розробку, має засоби роботи з системами контролю версій (підтримка CVS входить у поставку Microsoft Visual Studio C++ 2008 Express Edition, активно розвиваються кілька варіантів SVN модулів, існує підтримка VSS та інших). З огляду на безкоштовність, у багатьох організаціях Microsoft Visual Studio C++ 2008 Express Edition -- корпоративний стандарт для розробки ПЗ на С++.

Друге призначення Microsoft Visual Studio C++ 2008 Express Edition -- служити платформою для нових розширень. Такими стали C/C++ Development Tools (CDT), розроблювані інженерами QNX разом із IBM, засоби для підтримки інших мов різних розробників.

Microsoft Visual Studio C++ 2008 Express Edition написана на С++, тому є платформо-незалежним продуктом, крім бібліотеки графічного інтерфейсу SWT, яка розробляється окремо для більшості поширених платформ. Бібліотека SWT використовує графічні засоби платформи (ОС), що забезпечує швидкість і звичний зовнішній вигляд інтерфейсу користувача. [3,4,5]

5. Пояснення щодо змінних в схемі програмної реалізації алгоритму гри «Багатостороння дуель»

Змінна

Пояснення

a

Змінна для генератору випадкових чисел

a1

Змінна, що приймає значення «Сем»

b1

Змінна, що приймає значення «Білл»

c1

Змінна, що приймає значення «Джон»

srand()

Функція часового генератору чисел

label3

Напис, що приймає значення «Ім'я дуелянта, що стріляє першим»

radioButton1

Елементи «RadioButton», що імітують жеребкування

radioButton2

radioButton3

radioButton4

radioButton5

k

Допоміжна змінна для процесу жеребкування

label6

Напис, що приймає значення «Ім'я дуелянта, що стріляє другим»

label7

Напис, що приймає значення «Ім'я дуелянта, що стріляє третім»

pictureBox2

Зображення Сема

pictureBox3

Зображення Білла

pictureBox4

Зображення Джона

pictureBox5

Зображення мертвого Сема

pictureBox6

Зображення мертвого Білла

pictureBox7

Зображення мертвого Джона

label13

Елементи для відображення стратегії та ймовірностей виживання

label14

label15

label16

label8

Елементи для відображення статусу дуелянтів (Сем/Білл/Джон/ Сем мертвий/Білл мертвий /Джон мертвий)

label9

label10

label11

Індикатор завершення дуелі

Програмна реалізація алгоритму гри «Багатостороння дуель» представлена таким лістингом програми:

1. Заголовні файли:

· Form1.h (Меню)

#pragma once

#include "Form2.h"

#include "Form3.h"

namespace Багатостороннядуель16 {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

/// <summary>

/// </summary>

public ref class Form1: public System::Windows::Forms::Form

{

public:

Form1(void)

{

InitializeComponent();

}

protected:

/// <summary>

/// </summary>

~Form1()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Button^ button1;

protected:

private: System::Windows::Forms::Button^ button2;

private: System::Windows::Forms::Button^ button3;

private: System::Windows::Forms::PictureBox^ pictureBox1;

private: System::Windows::Forms::PictureBox^ pictureBox2;

private:

/// <summary>

/// </summary>

System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

/// <summary>

/// </summary>

void InitializeComponent(void)

{

System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));

this->button1 = (gcnew System::Windows::Forms::Button());

this->button2 = (gcnew System::Windows::Forms::Button());

this->button3 = (gcnew System::Windows::Forms::Button());

this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox2 = (gcnew System::Windows::Forms::PictureBox());

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox2))->BeginInit();

this->SuspendLayout();

//

// button1

//

this->button1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button1->Location = System::Drawing::Point(560, 12);

this->button1->Name = L"button1";

this->button1->Size = System::Drawing::Size(112, 30);

this->button1->TabIndex = 0;

this->button1->Text = L"Гра!";

this->button1->UseVisualStyleBackColor = true;

this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);

//

// button2

//

this->button2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button2->Location = System::Drawing::Point(559, 48);

this->button2->Name = L"button2";

this->button2->Size = System::Drawing::Size(113, 44);

this->button2->TabIndex = 1;

this->button2->Text = L"Відомості про програму";

this->button2->UseVisualStyleBackColor = true;

this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);

//

// button3

//

this->button3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button3->Location = System::Drawing::Point(560, 98);

this->button3->Name = L"button3";

this->button3->Size = System::Drawing::Size(113, 30);

this->button3->TabIndex = 2;

this->button3->Text = L"Вихід";

this->button3->UseVisualStyleBackColor = true;

this->button3->Click += gcnew System::EventHandler(this, &Form1::button3_Click);

//

// pictureBox1

//

this->pictureBox1->BackgroundImage = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"pictureBox1.BackgroundImage")));

this->pictureBox1->Location = System::Drawing::Point(1, 0);

this->pictureBox1->Name = L"pictureBox1";

this->pictureBox1->Size = System::Drawing::Size(552, 316);

this->pictureBox1->TabIndex = 3;

this->pictureBox1->TabStop = false;

//

// pictureBox2

//

this->pictureBox2->BackgroundImage = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"pictureBox2.BackgroundImage")));

this->pictureBox2->Location = System::Drawing::Point(560, 170);

this->pictureBox2->Name = L"pictureBox2";

this->pictureBox2->Size = System::Drawing::Size(125, 145);

this->pictureBox2->TabIndex = 4;

this->pictureBox2->TabStop = false;

//

// Form1

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->BackColor = System::Drawing::SystemColors::ButtonHighlight;

this->ClientSize = System::Drawing::Size(684, 311);

this->Controls->Add(this->pictureBox2);

this->Controls->Add(this->pictureBox1);

this->Controls->Add(this->button3);

this->Controls->Add(this->button2);

this->Controls->Add(this->button1);

this->Icon = (cli::safe_cast<System::Drawing::Icon^ >(resources->GetObject(L"$this.Icon")));

this->MaximumSize = System::Drawing::Size(700, 350);

this->MinimumSize = System::Drawing::Size(700, 350);

this->Name = L"Form1";

this->Text = L"Меню";

this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->EndInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox2))->EndInit();

this->ResumeLayout(false);

}

#pragma endregion

private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {

Form2 ^form2 = gcnew Form2();

form2->Show();

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

this->Hide();

Form3 ^form3 = gcnew Form3();

form3->Show();

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

MessageBox::Show("МОДЕЛЬ, ЩО РЕАЛІЗУЄ ПРОГРАМА\n\nСем, Білл і Джон (нижче позначені буквами С, Б, Д) домовились битися на дуелі втрьох за такими правилами:\nЖеребкування визначає, хто стріляє першим, другим, третім. Далі вони розташовуються на однаковій відстані один від одного. Обмінюються вистрілами по черзі, визначеній жеребом, поки двоє не будуть убиті. Черговий стріляючий може стріляти в будь якого із інших, враховуючи йоміврність виживання та оптимальну для себе стратегію.\nВідомо, що С - снайпер і ніколи не промахується з даної дистанції, Б - влучає лише в 80%, а Д - приблизно в 50% випадків.\n\nОПИС ПРОГРАМИ 'Багатостороння дуель'\n\nКористувачу програми надається можливість:\n 1) Жеребкуванням обрати порядок, у якому розташуються учасники дуелі (С, Б, Д);\n 2) Відповідно до оптимальної стратегії, здійснювати постріли кожного дуелянта в порядку, визначеному жеребкуванням поки двоє дуелянтів не будуть вбиті.\nОбислення ймовірності виживання (далі - ЙВ) на кожен хід здійснюється наступним чином:\nЙВ того, у кого стріляють (Жертви [Ж]) дорівнює 100%-'ймовірність попадання (ЙП)' того, хто стріляє (Стрільця [Cт]).\nЙВ Ст дорівнює 'ЙП' Ст + (100% - 'ЙП' Ж). На основі даних про ЙВ дуелянта на кожен крок обирається опимальна стратегія (ОС) ведення дуелі (у вікні програми ОС позначається '+').\n\nІНСТРУКЦІЯ З УПРАВЛІННЯ\n\nЩоб розпочати гру, необхідно:\n 1) В пункті меню натиснути кнопку 'Гра!';\n 2) З'явиться вікно, де необхідно жеребкуванням обрати:\n 1. Дуелянта, який буде стріляти першим, відмітивши 1 з 3-ох пунктів (тобто витягнути жереб) і натиснувши кнопку 'Обрати 1-ого';\n 2. Дуелянта, який буде стріляти другим, відмітивши 1 з 2-ох пунктів і натистувши кнопку 'Обрати другого'.\nДуелянт, якого не вибрали при жеребкуванні, стає третім автоматично.\n 3) Натиснути кнопку 'На позиції!';\nУ вікні з'явиться графічна інтерпритація 3-сторонньої дуелі у вигляді 3-ох зображеннь дуелянтів з підписами, які відповідають індивідуальному стрільцеві, що розташовані по колу, в центрі якого знаходиться правильний трикутник (модель одинакової відстані між дуелянтами). Порядок стрільби визачений за годинниковою стрілкою. В верхній правій частині вікна будуть знаходитись можливі стратегії дуелянта, що стріляє першим, та ймовірності виживання усіх дуелянтів.\n 4) По черзі натискати кнопки '1-ша перестрілка', '2-га перестрілка' (та '3-тя перестрілка' якщо після другої перестілки загине тільки 1 дуелянт) поки не з'явиться напис:'Дуель закінчено!'\nДля виходу з програми натиснути кнопку 'Вийти' або 'Вийти з гри:(' і підтвердити своє бажання.");

}

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

this->Location = System::Drawing::Point(300,150);

}

};

}

· Form2.h (Вихід)

#pragma once

#include "stdlib.h"

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

namespace Багатостороннядуель16 {

/// <summary>

/// </summary>

public ref class Form2: public System::Windows::Forms::Form

{

public:

Form2(void)

{

InitializeComponent();

//

//

}

protected:

/// <summary>

/// </summary>

~Form2()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Label^ label1;

protected:

private: System::Windows::Forms::Button^ button1;

private: System::Windows::Forms::Button^ button2;

private:

/// <summary>

/// </summary>

System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

/// <summary>

/// </summary>

void InitializeComponent(void)

{

this->label1 = (gcnew System::Windows::Forms::Label());

this->button1 = (gcnew System::Windows::Forms::Button());

this->button2 = (gcnew System::Windows::Forms::Button());

this->SuspendLayout();

//

// label1

//

this->label1->AutoSize = true;

this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label1->Location = System::Drawing::Point(28, 24);

this->label1->Name = L"label1";

this->label1->Size = System::Drawing::Size(167, 16);

this->label1->TabIndex = 0;

this->label1->Text = L"Ви дійсно хочете вийти\?";

//

// button1

//

this->button1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button1->Location = System::Drawing::Point(31, 65);

this->button1->Name = L"button1";

this->button1->Size = System::Drawing::Size(75, 23);

this->button1->TabIndex = 1;

this->button1->Text = L"Ні";

this->button1->UseVisualStyleBackColor = true;

this->button1->Click += gcnew System::EventHandler(this, &Form2::button1_Click);

//

// button2

//

this->button2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button2->Location = System::Drawing::Point(142, 66);

this->button2->Name = L"button2";

this->button2->Size = System::Drawing::Size(75, 23);

this->button2->TabIndex = 2;

this->button2->Text = L"Так";

this->button2->UseVisualStyleBackColor = true;

this->button2->Click += gcnew System::EventHandler(this, &Form2::button2_Click);

//

// Form2

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->BackColor = System::Drawing::SystemColors::ButtonHighlight;

this->ClientSize = System::Drawing::Size(250, 112);

this->Controls->Add(this->button2);

this->Controls->Add(this->button1);

this->Controls->Add(this->label1);

this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::SizableToolWindow;

this->MaximumSize = System::Drawing::Size(266, 151);

this->MinimumSize = System::Drawing::Size(266, 151);

this->Name = L"Form2";

this->Text = L"Вихід";

this->Load += gcnew System::EventHandler(this, &Form2::Form2_Load);

this->ResumeLayout(false);

this->PerformLayout();

}

#pragma endregion

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

this->Close();

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

exit(0);

}

private: System::Void Form2_Load(System::Object^ sender, System::EventArgs^ e) {

this->Location = System::Drawing::Point(533,283);

}

};

}

· Form3.h (Дуель)

#pragma once

#include "stdlib.h"

#include "time.h"

#include "Form2.h"

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

namespace Багатостороннядуель16 {

/// <summary>

/// </summary>

public ref class Form3: public System::Windows::Forms::Form

{

public:

Form3(void)

{

InitializeComponent();

}

protected:

/// <summary>

/// </summary>

~Form3()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Label^ label1;

private: System::Windows::Forms::RadioButton^ radioButton1;

private: System::Windows::Forms::RadioButton^ radioButton2;

private: System::Windows::Forms::RadioButton^ radioButton3;

private: System::Windows::Forms::Button^ button1;

private: System::Windows::Forms::Label^ label2;

private: System::Windows::Forms::Label^ label3;

private: System::Windows::Forms::RadioButton^ radioButton4;

private: System::Windows::Forms::RadioButton^ radioButton5;

private: System::Windows::Forms::Button^ button2;

private: System::Windows::Forms::Label^ label4;

private: System::Windows::Forms::Label^ label5;

private: System::Windows::Forms::Label^ label6;

private: System::Windows::Forms::Label^ label7;

private: System::Windows::Forms::Button^ button3;

private: System::Windows::Forms::Label^ label8;

private: System::Windows::Forms::Label^ label9;

private: System::Windows::Forms::Label^ label10;

private: System::Windows::Forms::Button^ button4;

private: System::Windows::Forms::Button^ button5;

private: System::Windows::Forms::Button^ button6;

private: System::Windows::Forms::Label^ label11;

private: System::Windows::Forms::Label^ label12;

private: System::Windows::Forms::Label^ label13;

private: System::Windows::Forms::Label^ label14;

private: System::Windows::Forms::Label^ label15;

private: System::Windows::Forms::Label^ label16;

private: System::Windows::Forms::Button^ button7;

private: System::Windows::Forms::PictureBox^ pictureBox1;

private: System::Windows::Forms::PictureBox^ pictureBox2;

private: System::Windows::Forms::PictureBox^ pictureBox3;

private: System::Windows::Forms::PictureBox^ pictureBox4;

private: System::Windows::Forms::Button^ button8;

private: System::Windows::Forms::PictureBox^ pictureBox5;

private: System::Windows::Forms::PictureBox^ pictureBox6;

private: System::Windows::Forms::PictureBox^ pictureBox7;

private: System::Windows::Forms::PictureBox^ pictureBox8;

private: System::Windows::Forms::PictureBox^ pictureBox9;

private: System::Windows::Forms::PictureBox^ pictureBox10;

private: System::Windows::Forms::Button^ button9;

protected:

private:

/// <summary>

/// </summary>

System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

/// <summary>

/// </summary>

void InitializeComponent(void)

{

System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form3::typeid));

this->label1 = (gcnew System::Windows::Forms::Label());

this->radioButton1 = (gcnew System::Windows::Forms::RadioButton());

this->radioButton2 = (gcnew System::Windows::Forms::RadioButton());

this->radioButton3 = (gcnew System::Windows::Forms::RadioButton());

this->button1 = (gcnew System::Windows::Forms::Button());

this->label2 = (gcnew System::Windows::Forms::Label());

this->label3 = (gcnew System::Windows::Forms::Label());

this->radioButton4 = (gcnew System::Windows::Forms::RadioButton());

this->radioButton5 = (gcnew System::Windows::Forms::RadioButton());

this->button2 = (gcnew System::Windows::Forms::Button());

this->label4 = (gcnew System::Windows::Forms::Label());

this->label5 = (gcnew System::Windows::Forms::Label());

this->label6 = (gcnew System::Windows::Forms::Label());

this->label7 = (gcnew System::Windows::Forms::Label());

this->button3 = (gcnew System::Windows::Forms::Button());

this->label8 = (gcnew System::Windows::Forms::Label());

this->label9 = (gcnew System::Windows::Forms::Label());

this->label10 = (gcnew System::Windows::Forms::Label());

this->button4 = (gcnew System::Windows::Forms::Button());

this->button5 = (gcnew System::Windows::Forms::Button());

this->button6 = (gcnew System::Windows::Forms::Button());

this->label11 = (gcnew System::Windows::Forms::Label());

this->label12 = (gcnew System::Windows::Forms::Label());

this->label13 = (gcnew System::Windows::Forms::Label());

this->label14 = (gcnew System::Windows::Forms::Label());

this->label15 = (gcnew System::Windows::Forms::Label());

this->label16 = (gcnew System::Windows::Forms::Label());

this->button7 = (gcnew System::Windows::Forms::Button());

this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox2 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox3 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox4 = (gcnew System::Windows::Forms::PictureBox());

this->button8 = (gcnew System::Windows::Forms::Button());

this->pictureBox5 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox6 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox7 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox8 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox9 = (gcnew System::Windows::Forms::PictureBox());

this->pictureBox10 = (gcnew System::Windows::Forms::PictureBox());

this->button9 = (gcnew System::Windows::Forms::Button());

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox2))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox3))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox4))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox5))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox6))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox7))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox8))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox9))->BeginInit();

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox10))->BeginInit();

this->SuspendLayout();

//

// label1

//

this->label1->AutoSize = true;

this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label1->Location = System::Drawing::Point(24, 10);

this->label1->Name = L"label1";

this->label1->Size = System::Drawing::Size(102, 16);

this->label1->TabIndex = 0;

this->label1->Text = L"Тягніть жереб!";

//

// radioButton1

//

this->radioButton1->AutoSize = true;

this->radioButton1->Location = System::Drawing::Point(52, 34);

this->radioButton1->Name = L"radioButton1";

this->radioButton1->Size = System::Drawing::Size(14, 13);

this->radioButton1->TabIndex = 1;

this->radioButton1->TabStop = true;

this->radioButton1->UseVisualStyleBackColor = true;

//

// radioButton2

//

this->radioButton2->AutoSize = true;

this->radioButton2->Location = System::Drawing::Point(72, 34);

this->radioButton2->Name = L"radioButton2";

this->radioButton2->Size = System::Drawing::Size(14, 13);

this->radioButton2->TabIndex = 2;

this->radioButton2->TabStop = true;

this->radioButton2->UseVisualStyleBackColor = true;

//

// radioButton3

//

this->radioButton3->AutoSize = true;

this->radioButton3->Location = System::Drawing::Point(92, 34);

this->radioButton3->Name = L"radioButton3";

this->radioButton3->Size = System::Drawing::Size(14, 13);

this->radioButton3->TabIndex = 3;

this->radioButton3->TabStop = true;

this->radioButton3->UseVisualStyleBackColor = true;

//

// button1

//

this->button1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button1->Location = System::Drawing::Point(27, 54);

this->button1->Name = L"button1";

this->button1->Size = System::Drawing::Size(104, 23);

this->button1->TabIndex = 4;

this->button1->Text = L"Обрати першого!";

this->button1->UseVisualStyleBackColor = true;

this->button1->Click += gcnew System::EventHandler(this, &Form3::button1_Click);

//

// label2

//

this->label2->AutoSize = true;

this->label2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label2->Location = System::Drawing::Point(13, 95);

this->label2->Name = L"label2";

this->label2->Size = System::Drawing::Size(18, 16);

this->label2->TabIndex = 5;

this->label2->Text = L"1.";

//

// label3

//

this->label3->AutoSize = true;

this->label3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label3->Location = System::Drawing::Point(26, 95);

this->label3->Name = L"label3";

this->label3->Size = System::Drawing::Size(45, 16);

this->label3->TabIndex = 6;

this->label3->Text = L"label3";

//

// radioButton4

//

this->radioButton4->AutoSize = true;

this->radioButton4->Location = System::Drawing::Point(57, 125);

this->radioButton4->Name = L"radioButton4";

this->radioButton4->Size = System::Drawing::Size(14, 13);

this->radioButton4->TabIndex = 7;

this->radioButton4->TabStop = true;

this->radioButton4->UseVisualStyleBackColor = true;

//

// radioButton5

//

this->radioButton5->AutoSize = true;

this->radioButton5->Location = System::Drawing::Point(82, 125);

this->radioButton5->Name = L"radioButton5";

this->radioButton5->Size = System::Drawing::Size(14, 13);

this->radioButton5->TabIndex = 8;

this->radioButton5->TabStop = true;

this->radioButton5->UseVisualStyleBackColor = true;

//

// button2

//

this->button2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button2->Location = System::Drawing::Point(27, 144);

this->button2->Name = L"button2";

this->button2->Size = System::Drawing::Size(104, 23);

this->button2->TabIndex = 9;

this->button2->Text = L"Обрати другого!";

this->button2->UseVisualStyleBackColor = true;

this->button2->Click += gcnew System::EventHandler(this, &Form3::button2_Click);

//

// label4

//

this->label4->AutoSize = true;

this->label4->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label4->Location = System::Drawing::Point(11, 183);

this->label4->Name = L"label4";

this->label4->Size = System::Drawing::Size(18, 16);

this->label4->TabIndex = 10;

this->label4->Text = L"2.";

//

// label5

//

this->label5->AutoSize = true;

this->label5->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label5->Location = System::Drawing::Point(11, 205);

this->label5->Name = L"label5";

this->label5->Size = System::Drawing::Size(18, 16);

this->label5->TabIndex = 11;

this->label5->Text = L"3.";

//

// label6

//

this->label6->AutoSize = true;

this->label6->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label6->Location = System::Drawing::Point(24, 183);

this->label6->Name = L"label6";

this->label6->Size = System::Drawing::Size(45, 16);

this->label6->TabIndex = 12;

this->label6->Text = L"label6";

//

// label7

//

this->label7->AutoSize = true;

this->label7->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label7->Location = System::Drawing::Point(24, 205);

this->label7->Name = L"label7";

this->label7->Size = System::Drawing::Size(45, 16);

this->label7->TabIndex = 13;

this->label7->Text = L"label7";

//

// button3

//

this->button3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button3->Location = System::Drawing::Point(27, 280);

this->button3->Name = L"button3";

this->button3->Size = System::Drawing::Size(104, 23);

this->button3->TabIndex = 14;

this->button3->Text = L"Вихід";

this->button3->UseVisualStyleBackColor = true;

this->button3->Click += gcnew System::EventHandler(this, &Form3::button3_Click);

//

// label8

//

this->label8->AutoSize = true;

this->label8->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label8->Location = System::Drawing::Point(223, 34);

this->label8->Name = L"label8";

this->label8->Size = System::Drawing::Size(45, 16);

this->label8->TabIndex = 16;

this->label8->Text = L"label8";

//

// label9

//

this->label9->AutoSize = true;

this->label9->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label9->Location = System::Drawing::Point(345, 245);

this->label9->Name = L"label9";

this->label9->Size = System::Drawing::Size(45, 16);

this->label9->TabIndex = 17;

this->label9->Text = L"label9";

//

// label10

//

this->label10->AutoSize = true;

this->label10->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label10->Location = System::Drawing::Point(89, 245);

this->label10->Name = L"label10";

this->label10->Size = System::Drawing::Size(52, 16);

this->label10->TabIndex = 18;

this->label10->Text = L"label10";

//

// button4

//

this->button4->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button4->Location = System::Drawing::Point(27, 251);

this->button4->Name = L"button4";

this->button4->Size = System::Drawing::Size(104, 23);

this->button4->TabIndex = 19;

this->button4->Text = L"На позиції!";

this->button4->UseVisualStyleBackColor = true;

this->button4->Click += gcnew System::EventHandler(this, &Form3::button4_Click);

//

// button5

//

this->button5->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button5->Location = System::Drawing::Point(466, 125);

this->button5->Name = L"button5";

this->button5->Size = System::Drawing::Size(137, 23);

this->button5->TabIndex = 20;

this->button5->Text = L"1-ша перестрілка";

this->button5->UseVisualStyleBackColor = true;

this->button5->Click += gcnew System::EventHandler(this, &Form3::button5_Click);

//

// button6

//

this->button6->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->button6->Location = System::Drawing::Point(466, 154);

this->button6->Name = L"button6";

this->button6->Size = System::Drawing::Size(137, 23);

this->button6->TabIndex = 21;

this->button6->Text = L"2-га перестрілка";

this->button6->UseVisualStyleBackColor = true;

this->button6->Click += gcnew System::EventHandler(this, &Form3::button6_Click);

//

// label11

//

this->label11->AutoSize = true;

this->label11->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label11->Location = System::Drawing::Point(463, 231);

this->label11->Name = L"label11";

this->label11->Size = System::Drawing::Size(60, 20);

this->label11->TabIndex = 23;

this->label11->Text = L"label11";

//

// label12

//

this->label12->AutoSize = true;

this->label12->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label12->Location = System::Drawing::Point(380, 10);

this->label12->Name = L"label12";

this->label12->Size = System::Drawing::Size(263, 16);

this->label12->TabIndex = 24;

this->label12->Text = L"Стратегії та ймовірності виживання(%):";

//

// label13

//

this->label13->AutoSize = true;

this->label13->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label13->Location = System::Drawing::Point(380, 32);

this->label13->Name = L"label13";

this->label13->Size = System::Drawing::Size(52, 16);

this->label13->TabIndex = 25;

this->label13->Text = L"label13";

//

// label14

//

this->label14->AutoSize = true;

this->label14->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label14->Location = System::Drawing::Point(380, 51);

this->label14->Name = L"label14";

this->label14->Size = System::Drawing::Size(52, 16);

this->label14->TabIndex = 26;

this->label14->Text = L"label14";

//

// label15

//

this->label15->AutoSize = true;

this->label15->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->label15->Location = System::Drawing::Point(380, 68);

this->label15->Name = L"label15";

this->label15->Size = System::Drawing::Size(52, 16);

this->label15->TabIndex = 27;

this->label15->Text = L"label15";

//

// label16

//

this->label16->AutoSize = true;

this->label16->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));


Подобные документы

  • Загальна характеристика алгоритму та опис програми. Керівництво системного програміста. Особливості запуску програми в Linux, FreeBSD, Windows. Аналіз результатів тестування програми, що проектується, вивчення та оцінка її практичної ефективності.

    курсовая работа [91,4 K], добавлен 13.06.2014

  • Створення програми для роботи з веб-камерою з автоматичним визначенням встановленої камери на комп'ютері. Характеристика апаратної конфігурації програми. Опис мови і середовища програмування. Розробка алгоритму, інструкції для програміста та користувача.

    курсовая работа [1,2 M], добавлен 26.07.2013

  • Розробка ігрового додатку за технологією IDE Visual Studio та WPF. Опис вхідної та вихідної інформації. Назва та призначення модулів програми. Основні поля класу, необхідні для ігрової логіки. Блок-схема алгоритму гри. Інструкція з експлуатації системи.

    курсовая работа [1,3 M], добавлен 02.06.2015

  • Класифікація існуючих інформаційних систем. Особливості створення інформаційної системи роботи меблевого магазину. Розробка програми, що забезпечує роботу торгівельної организації, в середовищі Microsoft Visual Studio 2008 на мові програмування Vb.NEt.

    курсовая работа [829,5 K], добавлен 12.12.2013

  • Розробка таблиці для збереження даних у текстовому файлі про фільми в середовищі програмування Visual Studio C++ та їх сортування за країною виробництва. Реалізація таблиці за допомогою компонента dataGridView. Опис і контрольний приклад роботи програми.

    курсовая работа [1,4 M], добавлен 02.11.2016

  • Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Базові конструкції мови програмування С++ з позиції об’єктного програмування. Розробка програми для автоматизації обліку товарів на складі магазину парфумів. Реалізація програми в середовищі Visual Studio C++. Розробка інтерфейсу і тестування програми.

    дипломная работа [907,9 K], добавлен 01.04.2016

  • Проектування архітектури гри "Тетріс". Аналіз вимог до неї. Вивчення особливостей реалізації, кодування та тестування програми. Алгоритм побудови робочого поля. Вибір мови програмування. Розробка і налагодження тексту програми. Інструкції з експлуатації.

    курсовая работа [460,9 K], добавлен 04.03.2014

  • Розробка кросплатформового інструменту електронного тестування учнів молодших та середніх класів по іноземній мові. Вибір середовища розробки та системи контролю версій. Опис мови програмування Java та лістинг програми. Апаратні та програмні вимоги.

    дипломная работа [608,3 K], добавлен 26.10.2010

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.