Пишемо гри на MIDletPascal
Отже, "нормальні" люди пишуть Java гри природно на мові Java (J2ME). Але тому що мети у нас поки не дуже грандіозні ... йдемо вибирати що-небудь простіше. З найбільш простих мов (надбудов) знаю лише два: Mobile BASIC і MIDletPascal. Якраз про останній і піде мова в даній статті, тому що він має хоч і мізерні, але більш просунуті можливості на відміну від першого.
Матеріал даної статті не є повним описом можливостей MIDletPascal. це більш схоже на вступний курс, який демонструє застосування найбільш необхідних для написання ігор можливостей мови.
Встановлення та налаштування
Емулятором буде "Kwyshell MidpX Emulator" .Для тих, хто не хоче качати середу інтегрується в explorer і псують його зовнішню красу своїми потворними кнопками з такими ж потворними іконками раджу скачати урізану його версію :)
Отже, в першу чергу нам необхідно встановити сам MIDletPascal. Після успішного закінчення установки, запускаємо його і приступаємо до налаштування роботи з емулятором. Для цього заходимо в пункт меню "Configure - Program options ..." і у вкладці "Emulator" додаємо новий (або змінюємо властивості стандартного). В "Run command" необхідно прописати шлях до завантажити нами емулятора і параметри його запуску. Цей рядок повинна виглядати приблизно так "C: MPMidp2Exe.exe -jar% JAR% -r". Зберігаємо зміни і повертаємося до головного вікна програми.
перша програма
Я сподіваюся, що Ви не вперше сіли за Pascal і хоч якийсь досвід написання програм на цьому чудовому мовою у Вас є, так що давайте спробуємо написати "просунутий Hello World!" Попутно розучивши методи роботи з деякими функціями і принцип написання мидлетов вцілому.
Темою буде зоряне небо (аналог стандартної заставки в Windows) і ширяє над ним (самі знаєте який) текст ...
висновок спрайтів
Малювання точок, еліпсів, прямих це весело по началу. Але незабаром захочеться вставити який-небудь малюнок, картинку, спрайт і т.п.
Якраз для цих випадків MIDletPascal має в своєму розпорядженні набір функцій для роботи з графікою завантаженої з зовнішніх файлів або ресурсів.
Намалювавши це чудо техніки, створимо новий проект, і першим же ділом додамо ці файли в ресурс за допомогою "Project - Import resource file ...". Наш танк повинен вміти їздити після натискання на відповідні клавіші і ні в якому разі не виїжджати за межі поля! Приступимо до написання коду:
Метою написання повноцінної гри я не ставив перед собою, так що залишу ворогів, стрілянину і перешкоди на Вашій совісті ...;)
Звук і Музика
Ігри, як правило, складаються не тільки з черзі змінюваних картинок, але і мають хоч якесь, але звуковий супровід. MIDletPascal підтримує програвання всього одного аудиопотока! Тобто чути звук розриваються снарядів, під п'яту сонату Бетховена не вийде. Це є жирний мінус і один з багатьох каменів в город MIDletPascal. Втім, розробники залишили можливість підключення своїх модулів написаних на Java ... але ми ж пишемо на Pascal. ;)
Перш ніж що-небудь писати, необхідно знайти який-небудь midi файл, і обізвав його "music.mid" додати в ресурс проекту. Тепер можна приступати до написання коду. Далі опишу код простий програми виводить пучок "бовтаються під музику щупалець". заодно познайомивши з деякими математичними функціями:
висновок
Хочу сказати кілька слів з приводу MIDletPascal IDE ... До Delphi IDE йому, звичайно ж, далі нікуди, і постійно вискакують помилки при компіляції, суть яких не зрозуміла (часто звичайний pascal код розібрати не може :) Але в цілому, середовище досить зручна. Сама мова є по суті "обрізаним" паскалем. Є записи (record), масиви (array) та інші корисні "штучки", але ніякого ООП властивого тій же Java немає. Тобто мова по суті є звичайним процедурним паскалем без деяких операторів (case наприклад)
Також є додаткові можливості, такі як: робота з HTTP. відправка SMS. стандартний користувальницький інтерфейс, підключення Java модулів і ін. Але при серйозному підході до написання мидлетов, MIDletPascal буде обмежувати Вас всюди, куди б Ви не сунулися ...;)