ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування

    Домашня робота з програмування за другий семестр

    Гра «Морський Бій»

    Виконав: Макаров В. А. група: С-26

    Гра « Морський Бій »
    Потрібно:
    Розробити програму-гру «Морський бій», з використанням анімованихграфічних об'єктів і можливістю керувати їх рухом за допомогоюклавіатури.

    Ескіз:

    Аномалії:
    | Аномалія | Дія програми |
    | 1) Помилка ініціалізації | Висновок повідомлення: |
    | графіки | «InitGraph ERROR!» |
    | 2) При грі було допущено більше | Висновок повідомлення |
    | п'яти промахів. Програш. | «GAME OVER» |

    Зовнішня специфікація:

    Вхід:
    | Vipolnil: Makarov Vladimir |
    | Group: C-26 |
    | |
    | |
    | |
    | Press to start play game! |
    | |
    | |
    | |

    Вихід при програші:
    | |
    | |
    | |
    | |
    | GAME OVER |
    | |
    | |
    | |

    Метод:
    Опис:
    Під час гри на екрані зображена водна поверхня і дві скелі побоків. Час від часу з-за скель випливають різні кораблі, якірухаються вздовж горизонту до протилежний скелі. Існує три типикораблів: маленький, середній і великий. Тип корабля завжди вибираєтьсявипадковим чином. Швидкість кожного корабля залежить від розміру самогокорабля: маленький найшвидший, інші відповідно мають більшнизькою швидкістю. Мета гравця полягає в тому, щоб за допомогою гармати іприцілу підбити як можна велику кількість кораблів і не промахуватися.
    Кількість підбитих кораблів (scope) показується в нижньому лівому кутіекрану. Гравець повинен націлювати гармату вліво або вправо і стріляти поможливості на випередження, тому що снаряд вилітає з гармати маєвідносно малою швидкістю. У разі промаху гравця, корабельрозвертається і пливе у зворотний бік. Якщо гравець зробив більшеп'яти промахів, то він програє і виходить з гри.
    Прицілювання здійснюється за допомогою стрілок (праворуч і ліворуч) наклавіатурі, пробіл - стрільба і escape - вихід.
    Основний метод:
    В основі роботи програми лежить головний зациклений цикл, вихід зякого здійснюється лише при виході або при програші. У циклівиконуються дії, які залежать від стану прапорів, так як кожномуподії в програмі відповідає свій прапор. Також у цьому циклівідслідковуються натискання певних клавіш. Цикл прокручується с, заздалегідьвизначеною і постійною, тимчасовою затримкою.
    Коли який-небудь прапор приймає істинне значення, в цикліпроробляється відповідне йому дію, після чого прапор відразускидається в положення брехня.
    Малювання всіх рухаються об'єктів проводиться для зручності в окремихпроцедурах. Як параметри туди передається координата по осі або xабо y, так само туди передається прапор, який вказує на те - малювати об'єкт абостирати. Під стиранням об'єкта розуміється його малювання кольором фону.
    Рух всіх графічних об'єктів у програмі здійснюється стандартнимметодом: спочатку малюється об'єкт, а після тимчасової затримки він малюється натому ж місці кольором фону (стирається) і малюється в новому місці.
    Швидкості всіх рухаються в програмі об'єктів різні:

    Vснаряда> Vкорабля № 1> Vкорабля № 2> Vкорабля № 3
    Тимчасова затримка у всій програмі постійна і використовується один разза цикл. Якщо один прохід циклу назвати тактом, то різниця швидкостейоб'єктів реалізована за рахунок того, що кожен об'єкт переміщається наодиницю відстані не за кожен такт, а за кожен n-ний такт, а nвизначено для кожного об'єкта по-різному. Чим менше n, тим швидшешвидкість. У цій програмі всі швидкості постійні.

    Алгоритм:
    Procedure target (ix: integer; bb: boolean)
    | Вхідні дані: ix: цілий bb: лог |
    | Внутрішні постійні змінні: iy = 200 |
    | |
    | початок |
    | якщо bb то (Відображення) |
    | Встановити колір (green) |
    | Встановити тип заливки (SolidFill, green) |
    | Намалювати зафарбований еліпс (ix, 430,26,100) |
    | Виберіть колір (lightgreen) |
    | Намалювати лінію (ix-10, iy, ix 10, iy) |
    | Намалювати лінію (ix, iy-10, ix, iy +10) |
    | інакше (Стирання) |
    | Встановити тип заливки (SolidFill, blue) |
    | Встановити колір (blue) |
    | Намалювати зафарбований еліпс ((ix, 430,26,100) |
    | Встановити колір (blue) |
    | Намалювати лінію (ix-10, iy, ix 10, iy) |
    | Намалювати лінію (ix, iy-10, ix, iy +10) |
    | всі |
    | кінець |

    Частина 2: Пошук в тексті одиниць і вставка після них нулів
    | Вхідні дані: var st: мас: стр r: цілий var one: лог |
    | Вихідні дані: rez: мас: стр iz: цел |
    | Внутрішні змінні: k, l: цел |
    | |
    | початок |
    | one: = брехня |
    | цикл для k: = 1 до r робити |
    | l: = 1 |
    | цикл поки l

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status