1. Введення
Одним з трьох «китів», на якому ґрунтується об'єктно-орієнтоване програмування, є успадкування. Це механізм, що дозволяє описати новий клас на основі вже існуючого (батьківського), при цьому властивості і функціональність батьківського класу запозичуються новим класом. Тобто, якщо існує декілька класів зі схожими членами, методами? доцільно наслідувати ці класи від загального предка (батьківського класу). Спадкування зазвичай зручно у використанні, а в деяких випадках? необхідно.
Багато мови програмування є об'єктно-орієнтованим. У них простежується явна ієрархія (послідовність наслідування) від одного класу. Наприклад, в C #? object, а в Delphi? TObject.
Сучасні мови програмування надають можливість розробнику вибрати можливість наслідування від класу. У деяких мовах використовуються абстрактні класи. Абстрактний клас - це клас, що містить хоча б один абстрактний метод, він описаний в програмі, має поля, методи і не може використовуватися для безпосереднього створення об'єкта. Тобто від абстрактного класу можна тільки наслідувати. Об'єкти створюються тільки на основі похідних класів, успадкованих від абстрактного класу.
2. Постановка завдання
Реалізувати програму, що дозволяє:
. розвивати у користувача вправність і увагу
. провести вільний час за захоплюючою грою
3. Аналіз завдання
Рішення даного завдання пов'язано з написанням програми, яка дозволяє користувачеві грати в графічному режимі в гру з назвою «тетріс».
Робота над проектом починається з розробки функціоналу, яким буде володіти користувач. У функціонал повинна входити можливість вибору швидкості. Для цього на формі повинні розташовуватися елементи, що дозволяють це здійснити (швидше за все, це буде поле, в якому можна буде ввести або вибрати число). Після встановлених налаштувань користувач повинен дати угоду, що швидкість вибрана, почавши гру. Для цього на формі повинна знаходитися кнопка. Також варто відзначити, що користувач повинен бачити графічне відображення гри. Для цього необхідно вибрати місце, де буде відбуватися промальовування ігрового процесу (швидше за все, це буде сама форма).
Визначившись з користувальницькою функціоналом і відображає його інтерфейсом, потрібно розглянути внутрішнє подання ігрового процесу. Гра являє собою появу блоків різної форми у верхній частині ігрового поля. Після чого відбувається рух блоку вниз під дією сили тяжіння до зустрічі з першою перешкодою? іншим блоком або нижньою межею поля. Далі з'являється інший блок, і дія з ним повторюється. Метою гри є набір максимального числа очок. Умова програшу? вихід блоку за верхню межу поля у зв'язку з відсутністю місця для опускання. Для реалізації нам необхідні класи «блоки». Оскільки блоки різної форми, але функціонал у них повторюється, слід використовувати спадкування від одного загального предка «блок», що володіє методами переміщення по горизонталі, падінню вниз на 1 крок, промальовування і ознаки зупинки падіння. Також необхідно саме ігрове поле. Швидше за все, буде використовуватися масив, що зберігає інформацію про зайнятість клітини ігрового поля. Поле слід також визначити як клас, так як для нього потрібні будуть методи такі, як: запис зупиненого блоку, очищення повністю заповненого ряду, промальовування заповнених клітин.
. Засоби реалізації
гра тетріс програма інтерфейс
Дана програма реалізована у візуальному середовищі програмування C # в графічному режимі. Вибір цей зумовлений вимогами навчальної дисципліни «Об'єктно-орієнтовані технології».
5. Вимоги до апаратному та програмному забезпеченню
В якості апаратної середовища використовується ПК типу IBM PC.
Системні вимоги:
· Комп'ютер Pentium 200 МГц
· Оперативна пам'ять 32 RAM
· Відеокарта 800х600
· Операційна система Microsoft Windows 98/ME/2000/XP/Vista/7
· Клавіатура
· Миша
· Розміри вільного дискового простору 200 кб
6. Інтерфейс користувача
При запуску програми користувач бачить головну форму програми, яка містить меню вибору швидкості, кнопку Почати, номер лінії, яку потрібно прибрати і кнопку Прибрати лінію. Також присутній поле, що містить підказки з управління і лічильник очок (рис. 1):