Monkey (язык программирования)

Из Википедии, бесплатной энциклопедии

Monkey X
Изображение логотипа
Класс языка мультипарадигменный: структурный, императивный, объектно-ориентированный, модульный, рефлексивный, обобщённый, параллельный
Появился в 1 марта 2011; 14 лет назад (2011-03-01)
Автор Mark Sibly
Система типов статическая, сильная(опционально) и слабая, номинативная[англ.], с частичным выводом типов
Испытал влияние BlitzBasic, BlitzMax, C, C++, C#, JavaScript, Java
Лицензия zlib / Проприетарный (коммерческий). (См.: Mojo)[1].
Сайт monkeycoder.co.nz
Платформа Кроссплатформенное ПО
ОС Windows

Monkey — язык программирования, предназначенный для разработки игр на различных платформах включая настольный компьютер, мобильные и игровые консоли. Сам по себе, язык является объектно-ориентированным диалектом языка Бейсик. Компилятор транслирует код Monkey в исходный код для нескольких целевых платформ, который затем компилируется. В настоящее время официальными целевыми платформами являются: Windows, Mac OS X, Android, iOS, PS4, HTML5 и Adobe Flash. Monkey создан компанией Blitz Research Ltd, создавшей BlitzBasic, Blitz3D and BlitzMax. Пользователями были созданы другие целевые платформы, включающие BlitzMax, Python, Game Boy Advance.

Базовая версия Monkey X — распространяется свободно под лицензией zlib/png[2], pro-версия, позволяющая компилировать приложения не только под десктопные операционные системы и HTML5, но и мобильные платформы — проприетарный коммерческий программный продукт.

Monkey был разработан Марком Сибли из Blitz Research Ltd. и выпущен 1 марта 2011 года[3]. Monkey классифицируется как компилятор от источника к источнику, который может преобразовывать код Monkey в код Java, ActionScript, C++, C# или JavaScript. Этот язык программирования направлен на мульти-платформенную разработку приложений. Он имеет подробную реализацию объектно ориентированной парадигмы и поддерживает наследование, полиморфизм, шаблоны, интерфейсы. Monkey классифицируется как строго типизированный язык.

Начиная с версии 0.59, в Monkey присутствует отладчик для платформ, основанных на C++.

Mojo представляет собой графический модуль для Monkey и предназначен, в первую очередь, для написания простых 2D-игр.

Целевые платформы

[править | править код]
  • Windows
  • Mac OS X
  • Android
  • iOS
  • HTML5
  • Flash
  • XNA
  • PlayStation Vita

Пример кода

[править | править код]
' включение строгого режима Strict  ' импорт модуля mojo Import mojo  ' точка входа приложения monkey Function Main:Int()   New GameApp   Return 0 End  ' основной класс, расширяющий класс mojo app Class GameApp Extends App   Field player:Player    ' переопределение метода mojo oncreate    Method OnCreate:Int()     ' загрузка изображения player.png в переменную img, медиаданные должны храниться в папке project.data       Local img:Image = LoadImage("player.png")     player = New Player(img, 100, 100)     ' установка обновлений в секунду равным 60     SetUpdateRate 60     Return 0   End    ' переопределение метода mojo onupdate    Method OnUpdate:Int()     player.x+=1     If player.x > 100       player.x = 0     End     Return 0   End    ' переопределение метода mojo onrender   Method OnRender:Int()     ' очистка экрана заданным цветом (красный, зелёный, синий)     Cls 32, 64, 128     player.Draw()     Return 0   End End  ' класс игрока Class Player   Field x:Float, y:Float   Field image:Image    ' конструктор   Method New(img:Image, x:Int, y:Int)     self.image = img     self.x = x     self.y = y   End    ' рисование спрайта   Method Draw:Void()     DrawImage image, x, y   End End 

Программы, написанные с использованием Monkey

[править | править код]

Весной 2016[4] года Марк Силби опубликовал раннюю версию Monkey 2 — языка программирования, наследующего Monkey-X с поддержкой обобщённого программирования, функций как объектов первого класса и замыканий и т.п.[5] Продукт полностью открыт под лицензией zlib. Первая версия Monkey 2 была выпущена 30 июня 2016 года[6]. Евгений Горошкин на основе кода Ted — среды, поставляемой с первым Monkey, написал на Monkey 2 Ted2Go — IDE для Monkey 2[7]

Примечания

[править | править код]
  1. Monkey's license for the open-source portion. (Official GitHub page)
  2. Проект Monkey X на сайте GitHub
  3. Архивированная копия. Дата обращения: 13 июня 2012. Архивировано 10 мая 2012 года. Blitz Research Ltd
  4. Mark Sibly. blitz-research/monkey2 — v0.0.4. — 2016-05-01. Архивировано 3 ноября 2020 года.
  5. About Monkey 2 (англ.). Monkey 2. Дата обращения: 8 февраля 2019. Архивировано из оригинала 6 февраля 2019 года.
  6. Mark Sibly. blitz-research/monkey2 — v1.0.0. — 2016-06-30. Архивировано 3 ноября 2020 года.
  7. Проект Ted2Go на сайте GitHub

Литература

[править | править код]
  • Michael Hartlef. Monkey Game Development: Beginner's Guide. — Packt Publishing Ltd, 2012. — 402 p. — ISBN 978-1-84969-209-0.