Реалізація програмного забезпечення «Гра баскетбол»

Автор работы: Пользователь скрыл имя, 09 Декабря 2013 в 14:17, курсовая работа

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

Метою даного курсового проекту є реалізація програмного забезпечення «Гра баскетбол».
Для досягнення поставленої мети необхідно виконати:
− дослідження предметної області;
− огляд прототипів;
− розробити архітектуру програмного забезпечення;
− реалізувати програмне забезпечення.

Содержание

ВСТУП 7
1 ОПИС ПРЕДМЕТНОЇ ОБЛАСТІ І ПОСТАНОВКА ЗАДАЧИ 8
1.1 Вступ 8
1.2 Дослідження психологічної залежності людини від ролевих комп'ютерних ігор 9
1.3 Динаміка розвитку комп'ютерної залежності має наступний вигляд 10
1.4 Механізм формування ігрової залежності 11
1.5 Опис гри «Баскетбол», що розробляється 15
2 ПРОЕКТ ПРОГРАМИ 17
2.1 Опис об’єктів гри 17
2.2 Розробка ієрархії наслідування 17
2.3 Проектування інтерфейсу 17
2.4 Розробка алгоритмів програми 17
3 РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ 18
ВИСНОВКИ 19
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 20
Додаток А – Текст програми 21
Додаток Б – Приклади екранних форм програми 22
Додаток В

Вложенные файлы: 1 файл

kurs.doc

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

Ну а самим великокаліберним знаряддям в цьому відношенні незмінно виявляються наукові дослідження. Трохи раніше, в тому ж 2002 році якийсь професор Мори з Японського університету опублікував результати дослідження, згідно яким у завзятих гравців спостерігався спад інтенсивності бета–ритмів мозку, що відповідають за емоційність і творчі здібності. Також Мори відзначав в своїй доповіді, що багато хто із завзятих гравців скаржився на свою зайву дратівливість, нездатність зосередитися і трудності в спілкуванні з оточуючими. Плюс сюди ж наслідки довгого перебування в нерухомому положенні, сильне навантаження на спину, шию, очі і загальне стомлення організму. А якщо врахувати, що більшість геймеров – підлітки у віці 13–16 років, то ці наслідки виглядають ще гнітючішими. А зараз навіть 4ех літніх дітей вільно володіють навиками включення/ виключення комп'ютера і потрібних їм ігор. Причому управляються з цим навіть краще, ніж деякі дорослі. Як вже мовилося, це несе в собі як позитивні, так і негативні сторони.

Проте, комп'ютерні ігри захоплюють всі нові і нові шари аудиторії. Цьому сприяє той факт, що вже багато ігор були перенесені на великий екран: всім відома Lara Croft у виконанні Анджеліни Джойлі до ці чотири роки підряд радувала око геймерам всього світу в декількох частинах Tomb Rider. Також були екранізовані: Resident Evil, Hitman, Halo, Alone in the Dark, Doom, Bloodrayne, Mortal Combat і багато інших.

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

 

1.5 Опис гри «Баскетбол», що розробляється

З розвитком комп’ютерної техніки та появою електронних ігор, отримали розвиток ігри, які імітують відомий вид ігор – баскетбол. Серед відомих ігор даного типу можна відзначити NBA live різних версій. У даній грі можна виконувати всі функції пов’язані зі створенням команд, плануванням змагань та керування гравцями.

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

Рисунок 1.1 – Схема гри баскетбол:

H – висота корзини;

h – висота м'яча;

V – швидкість м'яча;

α – кут (напрямок м'яча).

Робоча область гри "Баскетбол" зображена фрагментом гра у баскетбол: кидок м’яча у корзину. Спочатку користувач обирає напрямок кидка м’яча, потім силу кидку. Якщо м’яч попадає у корзину, то у нас зараховуються очки(бали). Якщо не попадаємо, то кидаємо знову до тих пір, поки не надоїсть користувачу. Гра "Баскетбол" нескінчена, тому вона закінчується по бажанню користувача.

Інші ігри розраховані  під командний рядок. Деякі ускладнені графічними ефектами, звуками. Гра "Баскетбол" підходить для будь-якого віку.

 

2 ПРОЕКТ ПРОГРАМИ

2.1 Опис об’єктів гри

Виходячи з аналізу  предметної області, виконаємо опис об’єктів, що будуть реалізовуватись у програмі. Як видно з рисунку 1.1, об’єктами програми є:

1. Корзина – об’єкт, який представляє з себе кільце  з щитом та призначений для  попадання у нього м’яча. 

Властивості: x, y – координати точки прив’язки; h, l – ширина та висота щита; a, b – параметри еліпсу, який створює кільце; Hs – висота з полу до кільця.

Методи: Show() – відобразити корзину на ігровому полі; isSlam() – метод повертає значення істина, якщо м’яч знаходиться у корзині, у іншому випадку – хибно.

2. М’яч – об’єкт, який представляє собою коло та призначений для кидка у кільце.

              Властивості: v-швидкість кидка м’яча  у корзину,α-кут нахилу кидка,

h-висота від поля до м’яча.

   Методи: Move() – переміщення; Show() – відображення м’яча відповідно до його координат.

3. Інформаційне поле – рядок у якому відображаються дані про гру.

4. Ігрове поле – представляє собою квадрат на якому відображені об’єкти.

5. Головна форма – Графічний елемент на якому розташовано управляючі елементи програми.

 

На підставі опису, що наведено вище, побудуємо відповідну діаграму залежності об’єктів, яка  показана на рисунку 2.1.

Рисунок 2.1 – Діаграма об’єктів

 

2.2 Розробка ієрархії  наслідування

Basket: x, y, a, b, h, l, hs                       Ball: x, y, R, α, Vo, Hs

Show(),is Slam.                                      Snow(),Move(),Hige().




 

 



 

 

Рисунок 2.2 – ієрархія наслідування

 

 

 

 

2.3 Проектування інтерфейсу







 

 

 

 

 


 

Рисунок 2.3 – Ескіз головної сцени гри

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.4 Розробка алгоритмів  програми

Блок-схема №1


 

 

 

Блок-схема №2


 

 

 

 

 

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок-схема №3


 

 

 

 

 

 

 

 

 

 

 

Блок-схема №4


 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВИСНОВКИ

 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

 

Додаток А – Текст програми

  №1.public void run() { // блок-схема 1

                ball.move(glT);

                if(ball.getY() > baskt.getY())

                {

                    tmr.cancel();

                    // проверяем попадание

                    int Lx = ball.getX();

                    int Rx = ball.getX() + ball.getR();

                    if((Lx > baskt.getX()) && (Rx < baskt.getX() + baskt.getLen()))

                    {

                        jTextField1.setText(String.format("%d", Integer.parseInt(jTextField1.getText())+1));

                        ball.initP((int)(0.9f * jPanel1.getWidth()), jPanel1.getHeight() / 2);

                        tmr.cancel();

                    }

                    else

                    {

                        jTextField2.setText(String.format("%d", Integer.parseInt(jTextField2.getText())+1));

                        ball.initP((int)(0.9f * jPanel1.getWidth()), jPanel1.getHeight() / 2);

                        tmr.cancel();

                    }

                }

                jPanel1.repaint();

                glT += 0.1f;

            }

        }, 0, 10);

    }  

№2. angl += da;

        if((angl > Math.PI / 2) || (angl < 0)) da = -da;

        x2 -= x1;

        y2 -= y1;

       

        float nx = (float) (x2 * Math.cos(da) - y2 * Math.sin(da));

        float ny = (float) (x2 * Math.sin(da) + y2 * Math.cos(da));

       

        x2 = nx;

        y2 = ny;

       

        x2 += x1;

        y2 += y1;

    }

   

    public float getAngle()

    {

        return angl;

    }

}

№3.  sa = angle; // блок-схема 3

        v0 = val;

        sx = x + R;

        sy = y + R;

        Vx = (float) (v0 * Math.cos(sa));

        Vy = (float) (v0 * Math.sin(sa));

    }

 

 

№4.  public void move(float glT) {

        // блок-схема 4

        x = sx - Vx * glT - R;

        y = sy - Vy * glT + 9.8f * glT * glT / 2 - R;

    }

 

    public void initP(int ix, int iy) {

        x = ix;

        y = iy;

    }

}

 

Додаток Б – Приклади екранних форм програми

 

Додаток В – Календарний  план виконання курсового проекту


Информация о работе Реалізація програмного забезпечення «Гра баскетбол»