Розробка комп’ютерної гри “lines” з використанням технології мови програмування java

Автор: Пользователь скрыл имя, 18 Декабря 2011 в 17:51, курсовая работа

Краткое описание

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

У даній курсовій роботі була розроблена гра «Lines» її інтерфейс та наведено приклади її використання. Для розробки використовувалося середовище Java, консольна версія програми.

Оглавление

ВСТУП
АНАЛІЗ СУЧАСНОГО СТАНУ ПИТАННЯ ТА ОБҐРУНТУВАННЯ ЗАВДАННЯ НА РОБОТУ …7
РОЗРОБКА ІНТЕРФЕЙСУ. ПРИКЛАДИ ВИКОРИСТАННЯ………………………………………...11
РОЗРОБКА ДІАГРАМИ КЛАСІВ ТА ДІАГРАМИ ВЗАЄМОДІЙ……………………………………19
РОЗРОБКА ЯДРА ПРОГРАМИ………………………………………………………………………....23
РОЗРОБКА ПІДСИСТЕМИ ФОРМУВАННЯ ЗОБРАЖЕННЯ..........………………………………...28
РОЗРОБКА ПІДСИСТЕМИ ОБМІНУ ПО МЕРЕЖІ..............................................................................31
ІНСТРУКЦІЯ КОРИСТУВАЧА………………………………………………………………………....33

ВИСНОВКИ……………………………………………………………………………………………....34

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

ДОДАТКИ………………………………………………………………………………………………..36

Файлы: 1 файл

курсач.docx

— 530.26 Кб (Скачать)

АНОТАЦІЯ

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

     У даній курсовій роботі була розроблена гра «Lines» її інтерфейс та наведено приклади її використання. Для розробки використовувалося середовище Java, консольна версія програми.

     ”Lines” є логічною ігрою в яку грає тільки один гравець. Гра складається з двох програм: клієнт та сервер. Суть гри в тому, щоб побудувати  лінію з кульок одного кольору по горизонталі, діагоналі або вертикалі відповідно. Є можливість приєднання  великої кількості гравців, але вони не можуть грати одночасно. Клієнти і сервери взаємодіють один з одним в мережі по протоколам ТСР/ІР. 
 

      ЗМІСТ

ВСТУП

  1. АНАЛІЗ СУЧАСНОГО СТАНУ ПИТАННЯ ТА ОБҐРУНТУВАННЯ ЗАВДАННЯ НА РОБОТУ …7
  2. РОЗРОБКА ІНТЕРФЕЙСУ. ПРИКЛАДИ ВИКОРИСТАННЯ………………………………………...11
  3. РОЗРОБКА ДІАГРАМИ КЛАСІВ ТА ДІАГРАМИ ВЗАЄМОДІЙ……………………………………19
  4. РОЗРОБКА ЯДРА ПРОГРАМИ………………………………………………………………………....23
  5. РОЗРОБКА ПІДСИСТЕМИ ФОРМУВАННЯ ЗОБРАЖЕННЯ..........………………………………...28
  6. РОЗРОБКА ПІДСИСТЕМИ ОБМІНУ ПО МЕРЕЖІ..............................................................................31
  7. ІНСТРУКЦІЯ КОРИСТУВАЧА………………………………………………………………………....33

    ВИСНОВКИ……………………………………………………………………………………………....34

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

    ДОДАТКИ………………………………………………………………………………………………..36 

      ВСТУП

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

     Діалог  між комп’ютером та гравцем вівся  в основному за допомогою війкової системи числення. Граючи таку гру  потрібно було володіти комп’ютерною освітою та знанням ЕОМ. Якщо ж  взяти наприклад сучасну комп’ютерну  гру то вона має зручний та зрозумілий інтерфейс, і не потребує додаткових знань та вмінь. Тому якщо порівняти  сучасну 3D- гру яка відбувається в віртуальному світі і гру яка просто видає нулі та одиниці то можна стверджувати, що індустрія комп’ютерних ігор розвивається дуже швидкими темпами.

      Як  відомо ігри можуть впливати на людину як позитивно так і негативно.  Мета гри – приносити людині задоволення . Проте крім задоволення гра може чинити і інший вплив.

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

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

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

      Мета  даної курсової роботи полягає у  тому, щоб розробляючи комп’ютерну  гру  “Lines”   вивчити основні етапи розробки.

    1 АНАЛІЗ СУЧАСНОГО СТАНУ ПИТАННЯ ТА ОБҐРУНТУВАННЯ ЗАВДАННЯ НА РОБОТУ

 

    Комрютерна  гра Lines (гра лінії або кульки) була винайдена в 1992 році і називалася вона Color Lines, тоді в цю гру грали всі. Гра Lines давно вже стала одною з самих популярних компютерних логічних ігор нашого часу. Суть гри в «Lines» в тому, що необхідно набрати як можна більше очків, будуючи лінію із п`яти і більше шариків одного кольору. Шарики переміщуються за допомогою мишки: спочатку ви вибираєте кульку, яку потрібно перемістити, потім – пусту позицію, на яку ви хочете його поставити. Якщо замість пустої позиції ви виберете зайняту, то шарик який стоїть на ній стане вибраним. Чим більше шарів в фігурі, тим більше очків ви получаєте.

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

    На  рисунку 1.1 показано Гру Lines 2007 року.  

    

    Рисунок 1.1 — Екранна форма гри «Lines»

    При вході в гру користувач вибирає  ту схему за якою він буде грати.Це  варіант побудови квадратів, блоків та ліній.В цій грі мною було розглянуто один з варіантів – постановка ліній. Гра є досить простою в  користуванні та немає якихось складних заплутаних схем гри. На сучасному рівні  програмування вже появилась  гра Lines с 3D графікою, де лінії також складаються в просторі, що не може не захоплювати. Правда є недолік в цій грі: вона не може бути мережевою. Чемпіонат по Lines проводиться по одинці а потім порівнюється по результатам очків які ви набрали за гру. Таким чином є необхідність розробити мережеву версію гри. 

    1. Обгрунтування вибору мови програмування

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

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

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

      С++  – дана мова програмування є об’єктно орієнтованою мовою, що дозволяє використовувати  переваги ООП. Швидкодія програм  написаних на С++ висока, проте нижча  за швидкодію програм написаних  з допомогою асемблера. Недоліком  даної мови є те, що вона погано переноситься на різні платформи, залежна від  платформи.

     Мова  Java є однією з наймолодших в сімействі мов програмуваня і була розроблена з розрахунку на те, щоб професійний програміст міг легко її опанувати та ефективно використовувати. За основу Java взятий синтаксис С++ - безсумнівно однієї з найбільш популярних мов програмування сучасності. Проте, Java - це цілком самостійна мова програмування, і при її створенні не йшлося про будь-яку сумісність з С++. Тому деякі механізми реалізовані в Java інакше, а деякі зовсім відсутні. Ідеологічно ж Java побудована дещо інакше ніж С++. Розробники Java грунтувалися на досвіді розробки програм на С++ і прагнули позбутися можливостей, які зарекомендували себе непевними. Так, в Java відсутня перегрузка операторів а також автоматичне приведення несумісних типів - конструкції, які при неуважному використанні є джерелом важких для виявлення помилок. Взагалі, інтерфейси Java більш прості та прозорі для розуміння. Написати на Java програму з графічним інтерфейсом значно легше. Звичайно, простота інтерфейсів компенсується меншою гнучкістю, бібліотека Java не така багата, як стандартні бібліотеки С/С++( Страуструп Бьярн. Язык программирования С++.: Пер. с англ.: - К.: ДиаСофт, 1993). Але згадаймо, що Java задуманий для використання на різних платформах і тому реалізує в собі найбільш стандартні можливості задля легшої адаптації під конкретне середовище.

Багатоплатформеність  середовища Web висуває надзвичайно  високі вимоги до надійності програм. Як наслідок, при розробці Java приорітет  був відданий можливості створення  стійких до помилок програм. Java звільняє програміста від хвилювань з  приводу багатьох поширених причин, які викликають помилки програмування. Як вже згадувалося, Java є строго типіованою мовою програмування. Ще виконуюча  система Java бере на себе «прибирання  сміття», тобто автоматично звільняє пам’ять, яка була розподілена динамічно. Звичайно, це дещо знижує ефективність коду, але запобігає типових помилок, коли програміст забуває звільнити  виділену пам’ять, або, навпаки, звільняє пам’ять, яка ще використовується. Java підтримує об’єктно-орієнтовану  обробку виключних ситуацій подібно  до С++. Але на відміну від С++ в Java обробка виключних ситуацій є  обов’язкувою. Тобто неможливо скомпілювати програму, яка відкриває файл, не обробивши можливі помилки типу «файл не знайдено», які виникають  при цьому (http://www.sun.com/ Специфікація мови програмування Java). Добре написана Java-програма може сама обробляти всі помилки часу виконання.

     Як  вже згадувалось, Java дозвляє створювати незалежні від платформи програми шляхом компіляції в проміжне представлення, яке називається байткодом. Багато попередніх спроб зпроб знати розв’язок проблеми незалежності від платформи були зроблені за рахунок продуктивності. Інтерпретуючі системи, подібні до BASIC, Perl, страждають на майже неподоланний дефіцит продуктивності. Це було враховано при створенні Java.. Незважаючи на те, що Java є інтерпретованою мовою, генерація байткодів була ретельно оптимізована в такий спосіб, щоб одержуваний байткод можна було легко перекладати в машинний код, який працює з дуже високою продуктивністю. Виконуючі системи такого роду не втрачають жодних переваг переносимого коду. 
 
 

     1.2 Особливості реалізації  гри.

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

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

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

     Дані, якими обмінюються програми, повинні  представляти собою повідомлення, які  генеруються на обох кінцях з'єднання і передаються в обох напрямках. Повідомлення на програмі-клієнті мають генеруватися тоді, коли надходять певні команди від користувача, а на програмі-сервері – при отриманні даних від програм-клієнтів.Проаналізувавши проект-гру „Lines”  та завдання, які висовуються до нього, було чітко визначено типи об’єктів, їх кількість та властивості, що необхідно реалізувати при виконанні проектування завдання. Зокрема в даній курсовій роботі мають бути реалізовані наступні об’єкти:

      - агенти; - шари;  - очки.

     1.3. Вимоги до технічного забезпечення

     Для нормального виконання програми необхідно наступне апаратне забезпечення:

  1. комп’ютер серії IBM PC з частотою 233 МГц  і вище;
  2. 64МБ оперативної пам’яті;
  3. графічний адаптер SVGA (Super Video Graphic Adapter);
  4. відеокарта об’ємом пам’яті не менше 4МБ;
  5. клавіатура, ОС Windows 98/NT/2К/ХР.

Розмір дискового  простору, що займає програма: 8 704 байт

Розмір  оперативної пам’яті, що займає програма: 1 500 КБайт.

      2 РОЗРОБКА ІНТЕРФЕЙСУ. ПРИКЛАДИ ВИКОРИСТАННЯ. 

  Гра ”Lines” В грі мають бути реалізовані наступні елементи:

    1. Поле має спеціальну структуру, як це зображено на Рисунку 2.1. В ньому присутні позиції, в яких можуть зупинятись шарики та позиції, в яких можуть ходити агенти. Агенти діють кооперативно

    2. Агенти рухаються ТІЛЬКИ по позиціям позначеним на Рисунку 18 символом ‘.’ При цьому має враховуватись те, що з деяких позицій нема руху ліворуч, з деяких - праворуч і т.п.

    3. При натискуванні комбінації клавіш <Ctrl>+<стрілка> і наявності шарика у відповідній позиції відбувається його активація - відповідно повинно змінитись і його зображення на екрані клієнта. Якщо перед цим було активовано інший шарик, то він деактивується. Якщо позиція, на яку вказує стрілка, є вільною і при цьому десь знаходиться активований шарик і, у відповідності до гри “Lines”, існує  шлях від поточного положення цього шарика до позиції, на яку вказує  стрілка, то шарик переміщується на вказану позицію.

    4. При своєму русі шарик може розчавити агента - тому вони повинні бути обережними, адже неузгоджені дії можуть призвести до загибелі агенту.

Информация о работе Розробка комп’ютерної гри “lines” з використанням технології мови програмування java