Гра Тетріс

Автор работы: Пользователь скрыл имя, 18 Января 2011 в 11:41, курсовая работа

Описание работы

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

Наприклад покращення можуть бути такими:

•Використання яскравих кольорів у грі;
•Використання яскравих звукових ефектів;
•Простота виконання самого ігрового процесу;
•Достатній рівень складності;

Содержание работы

ВСТУП
1 ПОСТАНОВКА ЗАДАЧІ.............................5
2 АЛГОРИТМ РОЗВ’ЯЗАННЯ ЗАДАЧІ.......6
2.1 Алгоритм створення вікна.………………………………...6
2.2 Алгоритм виводу зображення в вікні.…………………7
2.3 Алгоритм створення функції руху і обробки повідомлень клавіш.……..............................................10
3 ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ.............. 11
ВИСНОВКИ.....................................................12
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ.....13

Файлы: 1 файл

курсова.doc

— 181.00 Кб (Скачать файл)

glEnd();

}

Самі ж  фігурки загружаються з текстової старочки в якій записано позиції і положення фігур:

Char szT[]="1111100000&50-1310&121101&3101&121000-3100&112000&1320&211011-1300&112110&3102&211000-2210&121001-2201&121100-10-2200-131000&113110&131202&311011-~";

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

Малюнок 4.

Після того, як користувач за якихось причин програв, на екран з'явиться повідомлення «YOU LOSE» и вікно закриється після натискання користувачем  ENTER (мал. 5.)

Малюнок 5. 
 

2.3 Алгоритм створення функції руху і обробки повідомлень клавіш 

В грі  рух фігур здійснюється за допомогою  функцій pMv(); i Rot();

Функція pMv() :

pMv()

{

       for(nCur = 0; nCur < nFigX; nCur++)

       {

       if(nPole[nPosX+nCur][nPosY+nFigY[nCur]+nFigY[nCur+nFigX]])

          break;

       }

       if(nCur == nFigX)

       {

       nPosY++;

       }

}

Ця функція  відповідая зарух фігурок в низ.

LRESULT CALLBACK WndProc(HWND, UINT,WPARAM, LPARAM) -функція обробки повідомлень.

                   case WM_KEYDOWN:

                         if(wParam == VK_LEFT)

                         { App.bLf();

                               break;

                        }if(wParam == VK_RIGHT)

                         {App.bRt();   

                               break;

                         }if(wParam == VK_DOWN)

                         {App.pMv();

                               break;

                         }if(wParam == VK_UP)

                         {if(!App.bPause)

                               App.Rot();

                               break;

                         }if(wParam == VK_SPACE)

                         {App.bPs();

                               break;

                         }

3 Програмне забезпечення

       Даний проект складається з трьох файлів: MainCode.cpp, Q.cpp, class.h , але найважливішим є файл Q.cpp - головний файл програми, який містить у собі такі функції:

      • nwGame(); - відповідає за стартгри;
      • pMv(); - відповідає за рух фігурок;
      • pLf(); - обробка руху в ліво;
      • pRt(); - обробка руху в право;
      • pSt(); - відповідає за таймер;
      • bPs(); - відповідає за паузу;
      • Rot(); -відповідає за повороп фігур;
      • pCb(); - відповідає за малювання кубиків;
      • Hit(); - відповідає за вивід тексту;

                 В файлі MainCode.cpp  знаходиться функція обробки повідомлень LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) -функція обробки повідомлень, і реєстрація і створення головного вікна програми.

                 В файлі class.h знаходиться оголошення всіх необхідних бібліотек, а також оголошення сласу Q.

Програмний  продук виконувався з використанням OpenGL.

OpenGL — (англ. Open Graphics Library — відкрита графічна бібліотека) — специфікація, що визначає незалежний від мови програмування крос-платформовий програмний інтерфейс (API) для написання пріложеній, що використовують 2D та 3Dкомп'ютерну графіку. Даний інтерфейс містить понад 250 функцій, які можуть використовуватися для малювання складних тривимірних сцен з простих примітивів. Широко застосовується індустрією комп'ютерних ігор і віртуальної реальності, у графічних інтерфейсах (CompizClutter), при візуалізації наукових даних, в системах автоматизованого проектування тощо.

              Підчас виконання курсової роботи було розроблено програмний продукт гру «Тетріс».Гра вийшла дуже гарною, простою в керуванні з достатньою стійкістю роботи.

       Вимоги  до гри можна назвати мінімальними, адже гра повинна запуститись на моделях ПК до програмних потреб можна віднести встановлений Windows.

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

 

Висновки 

                 В ході написання курсової  роботи було створено робочий  програмний продукт гру «Тетріс».Сама  гра представляє собою вікно  з графічним інтерфейсом, що  при відкритті містить ігрову  сітку і область інформування. Гра має деяку схожість з оригіналом, але має і ряд відмінностей наприклад:

  1. Візуальне оформлення;
  2. Звукове оформлення;

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

       Для покращення роботи гри можливі наступні доповнення у подальшому:

    • Створення запису і збереження рекордних ігор користувачів
    • Ускладнення  ігрового процесу за рахунок збільшення кількості ігрових рівнів
    • Встановлення повно екранного ігрового режиму
    • Показ наступної фігури

             Написання курсової дало багато  досвіду в розробці програмного  забезпечення, вивчення нового матеріалу,  як приклад графічна бібліотека  OpenGL , а також основи мови програмування С++.

Загалом написану гру я вважаю не непоганою, але з потребою доопрацювання.

 

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

1. Щупак Ю.А. Эффективная разработка приложений, - Питер, 2007.

2. Використання матеріалів із сайту www.wikipedia.ua та www. Gamedev.ru.

3. Конспект  лекцій  з дисцепліни «Основи  програмування та алгоритмічних  мов»

4.  Методичні вказівки до оформлення пояснювальних записок з курсової роботи студентів для спеціальності "Програмне забезпечення автоматизованих систем", - Жовті Води, ОКВНЗ «ІП «Стратегія», 2010. 

Информация о работе Гра Тетріс