(PLAY): различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 42: Строка 42:
 28 \s
 28 \s
</pre>
</pre>
При желании этот ММЯ можно развивать. Также см. оператор PLAY в Бейсике, описание которого приведено, например, [http://www.helloworld.ru/texts/comp/lang/qbasic/book/qb1_c.html#c1 на сайте helloword.ru]. Англоязычную документацию по макроязыку PLAY можно найти на [https://en.wikibooks.org/wiki/QBasic/Appendix#PLAY Wikibooks], [http://www.qb64.net/wiki/index.php/PLAY QB64.net] или в [http://www.antonis.de/qbebooks/gwbasman/play.html руководстве по GW-Basic'у] ''(англ.)''.


== Ссылки ==
== Ссылки ==

Версия от 01:16, 2 сентября 2017

(PLAY) — родное слово Каллисто. Сыграть мелодию.

(PLAY)         ( a u −− )                           Играть музыку. Проиграть u нот, начиная с адреса a.

Ввод слова (PLAY)

В режиме NUM последовательно нажмите клавиши  ШГ→     Р-ГРД-Г   6      ШГ←    ,      P   ШГ← 

Пример

Примитив (PLAY) требует на входе адрес и размер массива, хранящего ноты нужной мелодии в формате длительность, частота.

Этот массив может быть подготовлен заранее или создан во время компиляции. Пример в блоке №43 из дистрибутива Каллисто 1.0 содержит простой компилятор ММЯ — Музыкального Макро-Языка, позволяющего проигрывать мелодию, ноты которой записаны латинскими буквами.

listmkt v0.3.5a (c) AtH, 8 апреля 2015, Файл: B043.mkt
  0 \ Pacman music #43, AtH, 20150413
  1 
  2 forth definitions  5 value темп
  3 
  4 vocabulary ММЯ  ММЯ definitions  \ Музыкальный Макро Язык
  5 : нота  ( частота длительность −−)
  6   <builds темп × , , does> here 4 cmove 4 allot ;
  7 : ;  ( −−)   ?csp  here over 2+ − 4 / ↔ !
  8   [compile] forth ; immediate
  9 
 10 0 1 нота .  0 2 нота ..  0 10 нота .10
 11 2470 1 нота b<  4939 ↑ 1 нота b  2 нота b+  2616 1 нота c
 12 5233 1 нота c>  3111 ↑ 1 нота d# 3 нота d#++
 13 3296 ↑ 1 нота e 3 нота e++  3492 1 нота f   3699 1 нота f#
 14 3920 1 нота g  4153 1 нота g#  4400 1 нота a
 15 
 16 forth definitions
 17 : :мелодия  ( −−)   <builds here  2 allot  !csp  ММЯ
 18   does> ↑ 2+ ↔ u@ (play) ;
 19 
 20 :мелодия Пакмэн  \ Манве, 13 апреля 2015
 21   b< . b . f# . d# . b f# .. d#++ .     \ такт 1
 22   c . c> . g . e . c> g .. e++ .        \ такт 2
 23   b< . b . f# . d# . b f# .. d#++ .     \ такт 3
 24   d# e f . f f# g . g g# a . b+ .10 ;   \ такт 4
 25 
 26 : tune  \ ( −−)   воспроизведение мелодии
 27   begin Пакмэн ?break again ;
 28 \s

При желании этот ММЯ можно развивать. Также см. оператор PLAY в Бейсике, описание которого приведено, например, на сайте helloword.ru. Англоязычную документацию по макроязыку PLAY можно найти на Wikibooks, QB64.net или в руководстве по GW-Basic'у (англ.).

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.