Розробка гри в С# "Корови та бики"

Постановка задачі та блок-схема алгоритму. Поняття програмування як мистецтва створення комп'ютерних програм за допомогою коду. Програмна реалізація логічної гри та характеристика даних і їх умовні позначення. Текст програми та аналіз результатів.

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

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

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

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

Міністерство освіти та науки України

Вінницький національний технічний університет

Інститут інформаційних технологій та комп'ютерної інженерії

Кафедра комп'ютерних наук

ЗАТВЕРДЖУЮ

Зав. каф. КН, д.т.н., проф.

С. І. Перевозніков

ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

НА КУРСОВУ РОБОТУ З ДИСЦИПЛІНИ «Алгоритмізація та програмування»

Тема курсової роботи « Розробка ігрової програми «Корови і бики»

1. Термін здачі студентом зазначеної роботи: 2014 р.

2. Вхідні дані до роботи: 4-х значне число, яке задумала програма та 4-х значне число, яке вводиться користувачем.

3. Зміст пояснювальної записки: програма вибирає за допомогою датчика випадкових чисел чотиризначне число з різними цифрами. Необхідно вгадати це число. На кожному кроці той, хто грає називає 4-х значне число, а програма повідомляє скільки цифр числа вгадано(бики) і скільки цифр вгадано і стоїть на потрібному місці(корови).

4. Дата видачі завдання “2014 р.

Завдання видав зав.каф. КН, д.т.н., проф. С.І. Перевозніков

Завдання прийняв до виконання Драчук Б.Б.

Анотація

В даній курсовій роботі була здійснена програмна реалізація логічної комп'ютерної гри «Корови і бики» мовою програмування С#. Гра першочергово створена для двох гравців, але з появою комп'ютерних версій став переважати варіант, коли один гравець грає наодинці, відгадуючи число, яке задумано програмою.

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

Курсова робота включає наступні розділи: постановку задачі, блок-схему та опис алгоритму, текст програми, опис роботи програми, аналіз результатів. Складовими роботи також є 14 рисунків, 5 літературних джерел.

Результатами тестування здійсненої роботи є закінчена програма, що дає можливість грати дану гру. «Корови» і «бики» дозволяє розвивати логічне мислення, покращувати навики зіставлення об'єктів за різними ознаками.

План

Вступ

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

2. Блок-схема алгоритму

3. Опис алгоритму

4. Характеристика даних і їх умовні позначення

5. Текст програми

6. Опис роботи програми

7. Аналіз результатів

Висновок

Список використаної літератури

Вступ

Ціль курсової роботи є програмна реалізація логічної гри «Корови і бики». Програмування - процес і мистецтво створення комп'ютерних программ за допомогою мов програмування, що поєднує в собі елементи мистецтва, науки, математики та інженерії.

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

Велика частина роботи програміста пов'язана з написанням вихідного коду на одній з мов програмування.

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

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

У даній роботі для розробки програмного забезпечення використана мова С# і середовище програмування Visual Studio 2010.

C# (вимовляється Сі-шарп) -- об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи NET. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft).

Синтаксис C# близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML.

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

Об'єкт дослідження: розобка програми мовою С# в середовищі програмування Visual Studio 2010.

Предмет дослідження: логічна комп'ютерна гра «Корови і бики».

Мета і задача дослідження: закріплення вивченого курсу алгоритмізації та програмування мовою С на прикладі розробки програмного забезпечення до комп'ютерної інтелектувальної гри.

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

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

Етап 1. Визначення цілей програми. На даному етапі творець програми повинен:

- чітко визначити, які функції повинна виконувати програма;

- обміркувати обчислення і маніпуляції, які програма повинна виконати, а також інформацію, яку вона повинна повернути;

- мислити в загальних термінах, а не в термінах деякої конкретної комп'ютерної мови .

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

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

Етап 3. Написання коду. Коли створено проект програми, можна приступати до її реалізації, для чого необхідно написати програмний код. Інакше кажучи, проект програми перекладається на мову С#. Саме на цій стадії потрібні знання мови С#. Рішення можна написати на папері, але в кінцевому підсумку необхідно буде ввести складений код в комп'ютер. Механіка цього процесу залежить від середовища програмування, в якому виконується робота. У загальному випадку використовується текстовий редактор для побудови так званого файлу вихідного коду. Цей файл містить інтерпретацію проекту програми на мові С#. На цьому етапі можна також додати коментарі до програми.

Етап 4. Компіляція. Наступним етапом розробки є компіляція вихідного коду. І в цьому випадку деталі залежать від середовища програмування. Компілятор являє собою програму , в обов'язки якої входить перетворення вихідного коду у виконуваний код . Виконуваний код - це власна мова машини , або машинна мова вашого комп'ютера. Ця мова з докладних команд, представлених в числовому коді. Різні комп'ютери мають різні машинні мови, а компілятор мови С# транслює код С# в конкретну машинну мову. У кінцевому підсумку виходить виконуваний файл , який можна запускати на виконання.

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

Етап 5. Запуск програми на виконання. Як правило, виконуваний файл являє собою програму, яку можна запускати на виконання. Середовища IDE(Integrated development environments - інтегровані середовища розробки), подібні тим, що поставляються для Windows і Macintosh, дозволяють редагувати і виконувати програми на С# всередині середовища, вибираючи відповідні пункти меню або натискаючи спеціальні клавіші. Отримана програма може бути запущена на виконання безпосередньо з операційної системи шляхом одиночного або подвійного клацання на імені файлу або на відповідній піктограмі.

Етап 6. Тестування та налагодження програми. Якщо програма працює - це добре, але, тим не менш, є ймовірність, що вона працює неправильно. Звідси випливає, що необхідно переконатися, що програма виконує саме очікувані від неї дії. Досить часто в програмах можна виявити помилки. Відлагодження - це процес виявлення та виправлення програмних помилок. Допущення помилок є природною складовою процесу програмування. Існує багато можливостей зробити помилку. Можна здійснити принципову помилку в проекті програми. Можна некоректно реалізувати хорошу ідею. Можна випустити з уваги неприпустимі вхідні дані, які спотворюють програму. Можна неправильно використовувати конструкції самої мови С#. Можна допустити помилки при наборі коду з клавіатури. Можна неправильно розставити дужки. Способів багато. Компілятор відстежує багато видів помилок, крім того, С# дає достатньо інших можливостей для відслідковування помилок.

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

2. Блок - схема алгоритму

Рисунок 2.1 - Блок - схема алгоритму роботи програми

Рисунок 2.1 (продовження)

3. Опис алгоритму

3.1.Робота програми розпочинається з виділення пам'яті під змінні.

3.2.Введення 4-х значного числа гравцем.

3.3.При натисненні кнопки «перевірити» відбувається перевірка рівності 4-х значного числа, яке ввів гравець з числом, яке задумано програмою. Якщо результат даної операції «так», то гравцеві повідомляється про те, що він виграв та розпочинається нова гра. Якщо результат даної операції «ні», то переходимо до пункту 3.4.

3.4. Перевірка на кількість використаних гравцем спроб. У разі, коли кількість використаних спроб більше 10, то гравцеві повідомляється про те, що він програв. Якщо кількість використаних гравцем спроб менше 10, то переходимо до пункту 3.5.

3.5. Перевірка: чи поле, яке передбачене для введення гравцем 4-х значного числа не є пустим і чи введене число є 4-х значним. Якщо відповідь загальної перевірки «ні», то програма повертається до пункту 3.2. Якщо відповідь загальної перевірки «так», то програма переходить до пункту 3.6.

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

3.7. Переходимо до пункту 3.2.

4. Характеристика даних і їх умовні позначення

mas - змінна типу String , число введене гравцем, як тексту;

mas1 - массив даних типу char, число, загадане програмою, по одній цифрі у кожному елементі масива;

mas2 - масив даних типу char, число, введене гравцем, по одній цифрі у кожному елементі масива;

rnd - змінна типу int, число від 1000 до 9999, загаданого програмою;

korovy - змінна типу int, кількість «корів» для певного варіанту числа;

byky - змінна типу int, кількість «биків» для певного варіанту числа;

tries - змінна типу int, кількість спроб гравця вгадати число;

i - змінна типу int, лічильник ітерацій циклу;

j - змінна типу int, лічильник ітерацій циклу

5. Текст програми

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Cowbulls

{

public partial class Form1 : Form

{

String mas;

int rnd,korovy=0, byky=0,tries=1;

char[] mas1 = { '0', '0', '0', '0' };

char[] mas2 = { '0', '0', '0', '0' };

public Form1()

{

InitializeComponent();

Rand();

}

private void button1_Click(object sender, EventArgs e)

{

if (Chislo.Text == mas)

{

MessageBox.Show("Ви вгадали число " + mas + " з " + tries.ToString() + "-ї спроби", "Кінець гри", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

tries = 1;

Rand();

Cls();

}

if (tries > 10)

{

MessageBox.Show( "Ви програли!","Кінець гри",MessageBoxButtons.OK,MessageBoxIcon.Stop);

tries = 1;

Rand();

Cls();

}

if (Chislo.Text != string.Empty && Chislo.TextLength==4)

{

Result.Text = rnd.ToString();

mas = Chislo.Text;

mas2 = mas.ToCharArray();

byky = 0; korovy = 0;

for (int i = 0; i < 4; i++)

{

for (int j = 0; j < 4; j++)

{

if (mas1[i] == mas2[j])

{

byky++;

break;

}

}

for (int j = 0; j < 4; j++)

{

if (mas1[i] == mas2[j] && i == j)

korovy++;

}

}

Tries.AppendText(Chislo.Text +"("+ byky.ToString()+","+korovy.ToString()+")"+" | ");

Bulls.Text = byky.ToString();

Cows.Text = korovy.ToString();

Chislo.Text = string.Empty;

tries++;

}

}

bool flag = true;

public void Rand()

{

for(int j=0;;j++)

{

Random rand = new Random();

rnd = rand.Next(1000, 9999);

mas = rnd.ToString();

mas1 = mas.ToCharArray();

flag = true;

for (int i = 1; i < 4; i++)

{

if (mas1[0].Equals(mas[i])==true)

{

flag = false;

break;

}

}

for (int i = 2; i < 4; i++)

{

if (mas1[1].Equals(mas[i])==true)

{

flag=false;

break;

}

}

if (mas1[2].Equals(mas[3])==true)

{

flag=false;

}

if (flag == true)

{

break;

}

else

{

continue;

}

}

Result.Text = mas;

}

private void Cls()

{

Chislo.Text = string.Empty;

Cows.Text = string.Empty;

Bulls.Text = string.Empty;

Result.Text = string.Empty;

Tries.Text = string.Empty;

}

private void NewGame_Click(object sender, EventArgs e)

{

tries = 1;

Cls();

Rand();

}

private void Author_Click(object sender, EventArgs e)

{

Form2 author = new Form2();

author.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)

{

Form3 rules = new Form3();

rules.ShowDialog();

}

private void Chislo_KeyPress(object sender, KeyPressEventArgs e)

{ char c = e.KeyChar;

e.Handled = !(char.IsDigit(c) || c == '\b');

}

}

}

6. Опис роботи програми

Для того, щоб запустити програму необхідно двічі клікнути мишею на файл Cowbulls.exe. Користувач побачить стартове вікно програми, яке зображене на Рис 1.

Рис 1. - Стартове вікно програми.

Користувач може зразу розпочинати гру введенням будь-якого чотиризначного числа в поле, яке виділене червоним кольором на Рис 2.

Рис 2. -Головне поле для гри.

Після введення числа користувач має клікнути один раз мишею на кнопці «Перевірити»( Рис. 3).

Рис 3. -Кнопка «Перевірити»

Наслідком натискання кнопки є результат: виведення кількості «биків» і «корів» в полях, які виділені червоним на Рис. 4.

Рис 4. - Поля, в яких виводиться кількість «биків» і «корів»

Для полегшення процесу гри, було створено поле, в яке записуються всі введені гравцем числа, і відповідна їм кількість «биків» і «корів». Це поле виділене червоним на Рис. 5.

Рис 5. - Поле результатів

Далі таким самим чином гравець вводить інші числа, і отримує відповідні значення «биків» і «корів» (Рис. 6).

Рис 6. - Вигляд процесу гри

Процес гри продовжується до тих пір, доки гравець не вгадає число, або поки він не використає 10 спроб, для вгадання числа. Кінець гри виглядає наступним чином: гра програна(Рис. 7), гра виграна(Рис. 8).

Рис 7. - Гра програна.

Рис 8. - Гра виграна.

Для того, щоб змінити число, загадане програмою, гравцю слід клікнути на кнопці «Нова гра», яка виділена червоним на Рис. 9.

Рис 9. -Кнопка «Нова гра».

Для того, щоб дізнатись правила гри, гравцеві слід клікнути на кнопці «Правила гри» (Рис.10.1), де він зможе ознайомитись з правилами гри (Рис. 10.2).

Рис 10.1. -Кнопка «Правила гри».

Рис 10.2. -Вікно «Правила гри».

Щоб дізнатись інформацію про автора гри, гравцеві слід натиснути кнопку «Про автора»(Рис. 11.1) і відкриється вікно з інформацією(Рис. 11.2).

Рис 11.1. -Кнопка «Про автора».

Рис 11.2. -Вікно «Про автора».

7. Аналіз результатів

Результатом виконаної роботи є комп'ютерна програма з користувацьким інтерфейсом, яка реалізує комп'ютерну версію логічної гри «Корови і бики». Дана програма повністю відповідає умові задачі: програма вибирає за допомогою датчика випадкових чисел чотиризначне число з різними цифрами. Гравець намагається відгадати це число. На кожному кроці той, хто грає називає 4-х значне число, а програма повідомляє скільки цифр числа вгадано(бики) і скільки цифр вгадано і стоїть на потрібному місці(корови).

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

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

Висновок

В даній курсовій роботі був реалізована та описана комп'ютерна програма мовою С#. В результаті виконання завдання створена робоча програма в середовищі Visual Studio 2010.

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

Досягнута мета та завдання курсового проекту, а саме, на прикладі розробки програмного забезпечення до комп'ютерної інтелектувальної гри «Корови і бики» було закріплено вивчений курс програмування мовою С#.

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

Список використаної літератури

1. Чарльз Уэзерелл. Етюди з программування, Великий комбінатор. М.: 1982.

2. Чарльз Петцольд. Programming Microsoft Windows Forms: Російська Редакція, Санкт-Петербург, 2006.

3. К. Нейгел, Б. Ив'єн, Д. Глінн, М. Скіннер C# 2005 і платформа .NET 3.0 для професіоналів, 2008.

4. Кандидат технічних наук Е. Гик. Бики і коровыи:«Наука и жизнь», № 2, 1978; № 8, 1978.

5. uk.wikipedia.org/wiki/C_Sharp.

Размещено на Allbest.ru


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

  • Побудова блок-схеми алгоритму проста вставка. Програмна реалізація алгоритму, опис результатів. Особливості обліку ітерації масивів. Відсортування даних за допомогою програми Turbo Pascal. Аналітична оцінка трудомісткості, графічне представлення.

    контрольная работа [570,1 K], добавлен 21.05.2014

  • Математичне моделювання та створення програмних комплексів типу Nastran або Ansys. Рівняння методу незалежних струмів у матрично-векторній формі. Побудова блок-схеми алгоритму. Характеристика і умовні позначення даних. Текст та результати роботи програми.

    контрольная работа [1006,6 K], добавлен 10.07.2012

  • Редагування за допомогою текстового редактора NotePad вхідного файлу даних. Програмна реалізація основного алгоритму з використанням засобів об'єктно-орієнтованого програмування. Об’ява та опис класів і об'єктів. Розробка допоміжних програмних засобів.

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

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

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

  • Побудова інформаційно-математичної моделі задачі. Визначення структури даних, розробка інтерфейсу. Складання коду програми за допомогою мови програмування Delphi 7.0. Реалізація проекту у візуальному середовищі. Інструкція з експлуатації програми.

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

  • Використання мови програмуванння Java при виконанні "задачі лінійного програмування": її лексична структура і типи даних. Методи розв’язання задачі. Особливості логічної структури програми, побудова її зручного інтерфейсу за допомогою симплекс методу.

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

  • Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.

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

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

    дипломная работа [2,1 M], добавлен 18.11.2014

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

    курсовая работа [145,6 K], добавлен 20.03.2011

  • Історія створення мови С#. Аналіз алгоритмів кодування даних. Розробка системи в середовищі Visual Studio 2008 Express. Схема шифрування алгоритму DES. Дослідження алгоритму RC2. Приклади хешів RIPEMD-160. Програмна реалізація основних процедур системи.

    дипломная работа [1,7 M], добавлен 25.10.2012

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