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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

История[править | править вики-текст]

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

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

Mojo[править | править вики-текст]

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[править | править вики-текст]

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]