- 概要
- abs
- acos
- asc
- asin
- assert
- atan
- atan2
- background
- beep
- bgmadd
- bgmplay
- bgmstate
- bgmstop
- bind$
- binding
- box
- call
- chr$
- circle
- cls
- connect$
- connected@
- connecting
- cos
- crash
- data
- datetime@
- def animation
- def background
- def pic
- direction
- disconnect
- distance
- do
- elemtype
- else
- else if
- end
- end function
- end if
- end procedure
- exit do
- exit for
- exit procedure
- fetch@
- for
- function
- hear$
- hide
- if
- include
- inkey$
- input
- left$
- len
- let
- line
- listen
- listening
- locate
- loop
- main
- mainvar
- mainvar$
- mainvar@
- max
- mid$
- min
- move
- moving
- next
- oval
- paint
- pause
- pi
- play
- point
- pow
- procedure
- pset
- put
- random
- read
- receive@
- render
- return
- right$
- roll
- round
- scr$
- send
- sgn
- show
- sin
- speak
- speed
- sprite
- sqr
- stay
- stop
- str$
- tan
- tap
- time
- touch
- truncate
- turn
- unbind
- val
- visible
- write
- xpos
- ypos
命令/関数辞書
やりたいことから命令/関数を探す
計算したい
複数の数値や文字列を取り扱いたい
プログラムの実行を制御したい
新しい命令を作りたい
新しい関数を作りたい
操作されたことを知りたい
スプライト機能を使いたい
画面に図形を描きたい
画面に背景を表示したい
画面の状態を知りたい
画面に文字や数字を表示したい
文字列を操作したい
音や音楽を流したい
音声を扱いたい
時間について知りたい
ネットワーク通信をしたい(サーバー側)
ネットワーク通信をしたい(クライアント側)
ネットワーク通信をしたい(サーバー・クライアント共通)
プログラムの動作をテストしたい
Web API を利用したい
命令/関数辞書の読み方
文法
命令/関数辞書
やりたいことから命令/関数を探す
計算したい
- 計算結果を一時的に覚えさせたい - let 命令
- プログラムで使う数値や文字列を画面から入力してもらいたい - input 命令
- プログラムで使う多くの数値や文字列を覚えさせたい - data 命令
- data で覚えた数値や文字列を取り出したい - read 命令
- 2 つの数値を比べて大きい方を取り出したい - max 関数
- 2 つの数値を比べて小さい方を取り出したい - min 関数
- 指定した範囲からランダムな数値を取り出したい - random 関数
- 円周率を使いたい - pi 関数
- 同じ数を繰り返し掛け算したい(累乗を求めたい) - pow 関数
- ある数の平方根を計算したい - sqr 関数
- ある角度の正弦(sin)を求めたい - sin 関数
- ある角度の余弦(cos)を求めたい - cos 関数
- ある角度の正接(tan)を求めたい - tan 関数
- ある数値の逆正弦(asin)を求めたい - asin 関数
- ある数値の逆余弦(acos)を求めたい - acos 関数
- ある数値の逆正接(atan)を求めたい - atan 関数
- ある座標と X 軸の角度を求めたい - atan2 関数
- 四捨五入したい - round 関数
- 数値の切り捨てをしたい - truncate 関数
- 絶対値を知りたい - abs 関数
- 正の数か負の数かを知りたい - sgn 関数
- 文字の数字を数値にしたい - val 関数
複数の数値や文字列を取り扱いたい
- 配列の中の要素の数を知りたい - len 関数
- 配列の中の要素に入っている値の種類を知りたい - elemtype 関数
プログラムの実行を制御したい
- 条件に従って行うことを変えたい - if 命令
- 何度もやりたいことを繰り返したい - do 命令, loop 命令
- 何度も行われる繰り返しから抜けたい - exit do 命令
- 決まった回数だけやりたいことを繰り返したい - for 命令, next 命令
- 決まった回数の繰り返しから抜けたい - exit for 命令
- プログラムを終了したい - end 命令
- プログラムを止めたい - stop 命令
- プログラムを一定時間だけ止めたい - pause 命令
新しい命令を作りたい
- 新しい命令を独自に作りたい - procedure 命令, end procedure 命令
- 独自に作った命令を呼び出したい - call 命令
- 独自に作った命令の中から抜けたい - exit procedure 命令
新しい関数を作りたい
- 新しい関数を独自に作りたい - function 命令, end function 命令, return 命令
操作されたことを知りたい
スプライト機能を使いたい
- スプライトを表示したい - show 命令
- スプライトを動かしたい - move 命令
- スプライトの動きを止めたい - stay 命令
- スプライトが移動する方向を決めたい - direction 命令
- スプライトが移動する距離を決めたい - distance 命令
- スプライトが移動する速度を決めたい - speed 命令
- スプライトの向きを反転したい - turn 命令
- スプライトにアニメーションを設定したい - sprite 命令
- スプライトで新たなアニメーションを追加したい - def animaton 命令
- スプライトに新たな pic パターンを追加したい - def pic 命令
- スプライトを消したい - hide 命令
- スプライトの横方向の位置を知りたい - xpos 関数
- スプライトの縦方向の位置を知りたい - ypos 関数
- スプライトがアニメーションや移動をしているかを知りたい - moving 関数
- 2 つのスプライトが衝突しているかどうかを知りたい - crash 関数
- スプライトがある色に重なっているかを知りたい - touch 関数
- スプライトが表示されているかを知りたい - visible 関数
画面に図形を描きたい
- 円を描きたい - circle 命令
- 楕円を描きたい - oval 命令
- 線を描きたい - line 命令
- 四角を描きたい - box 命令
- 点を描きたい - pset 命令
- 図形の中を塗りつぶしたい - paint 命令
- 画面をスクロールさせたい - roll 命令
- pic パターンを画面に描きたい - put 命令
- 画面に文字を図形として表示したい - write 命令
- 画面の図形を全て消したい - cls 命令
- 画面の図形描画を一時的に停止したい - render 命令
画面に背景を表示したい
- 背景を表示したい - background 命令
- 新たな背景を追加したい - def background 命令
画面の状態を知りたい
- 画面上のある場所の色を知りたい - point 関数
画面に文字や数字を表示したい
文字列を操作したい
- 何文字あるか数えたい - len 関数
- 何の文字が表示されているかを知りたい - scr$ 関数
- ある文字が含まれているか知りたい - include 関数
- 文字の一部を取り出したい(左端から何文字) - left$ 関数
- 文字の一部を取り出したい(右端から何文字) - right$ 関数
- 文字の一部を取り出したい(好きな位置を指定して何文字) - mid$ 関数
- 文字を文字コードにしたい - asc 関数
- 文字コードを文字にしたい - chr$ 関数
- 数値を文字の数字にしたい - str$ 関数
音や音楽を流したい
- ブザー音を鳴らしたい - beep 命令
- 音楽を流したい - play 命令
- BGM として音楽を流したい - bgmplay 命令
- BGM を止めたい - bgmstop 命令
- BGM で演奏する音楽を追加したい - bgmadd 命令
- BGM が演奏中かどうかを知りたい - bgmstate 関数
音声を扱いたい
- 音声をマイクから認識させたい - listen 命令
- マイクから認識された言葉を文字列にしたい - hear$ 関数
- 音声をマイクで認識中かどうか知りたい - listening 関数
- 文字列をスピーカーからしゃべらせたい - speak 命令
時間について知りたい
- どれくらい時間が経ったかを知りたい - time 関数
- 現在の日時を知りたい - datetime@ 関数
ネットワーク通信をしたい(サーバー側)
- ネットワーク接続の受付を開始したい - bind$ 関数
- ネットワーク接続の受付を終了したい - unbind 命令
- ネットワーク接続を受け付けているかどうかを知りたい - binding 関数
- 接続されている全てのクライアントの接続 ID を知りたい - connected@ 関数
ネットワーク通信をしたい(クライアント側)
- サーバーに接続したい - connect$ 関数
- サーバーとの接続を解除したい - disconnect 命令
- サーバーと接続しているかどうかを知りたい - connecting 関数
ネットワーク通信をしたい(サーバー・クライアント共通)
- メッセージを送信したい - send 関数
- メッセージを受信したい - receive@ 関数
プログラムの動作をテストしたい
- 条件が成り立つかどうか確認したい - assert 命令
- メインプログラムを実行したい - main 命令
- メインプログラムの変数の値を取得したい - mainvar 関数, mainvar$ 関数, mainvar@ 関数
Web API を利用したい
- Web API にアクセスしたい - fetch@ 関数
命令/関数辞書の読み方
命令/関数辞書では、Jasmine Tea が提供している全ての命令や関数について、提供する機能や使い方について解説しています。
各命令や各関数の解説は、次の構成で行われています。
- 命令や関数の名称
- 働き - 命令や関数の機能を簡単に示します。
- 文法 - 命令や関数の書き方を示します。
- 説明 - 命令や関数の機能を詳しく説明します。
- サンプルプログラム - 命令や関数の働きを理解するためのプログラムです。
文法
命令や関数は、それぞれ文法があります。命令/関数辞書では、個々の命令や関数の文法を示すための書式があります。例えば circle 命令の文法は、以下のように書かれています。
circle (<X>,<Y>),<半径>,<線の色番号>[,<塗りつぶしの色番号>]
- X - 円の中心点の横方向の座標の式(0〜639)
- Y - 円の中心点の縦方向の座標の式(0〜399)
- 半径 - 円の半径の式(1〜399)
- 線の色番号 - 円弧の色の番号の式(0〜37)
- 塗りつぶしの色番号 - 円の内部を塗りつぶす際の色の番号の式(0〜37)
アルファベットは、そのまま入力します。Jasmine Tea では、命令の名前を大文字で書いても小文字で書いても、どちらでも認識します。命令の名前以外のもの、例えば「"」(ダブルクォーテーション記号)で囲まれた文字列や、data 命令のパラメーターとして書かれた文字列などは、大文字と小文字の区別がされますので、注意してください。
不等号(<...>)で囲まれた部分は、プログラムを書く人が指定する部分です。何を指定するかは、文法の下に箇条書きで書かれています。例えば、 <半径> について、円の半径を 100 としたいときは、100 と書きます。その際に、不等号で囲む必要はありません。また、指定可能な数値の範囲が書かれているときは、その範囲内となるようにプログラムを作ることが必要です。
大括弧([...])で囲まれた部分は、省略可能であることを示しています。例えば、circle 命令について、円弧の色を赤(2 番)、内部を青(1 番)で塗りつぶしたいときは、以下のようにプログラムを書きます。
circle (300,200),50,2,1
それに対して、塗りつぶしの色の指定を省略することで、赤い円弧のみを描くことができます。
circle (300,200),50,2
文法の書式で、不等号と大括弧以外の記号で、小括弧()、カンマ(,)、セミコロン(;)、マイナス(-)、等号(=)などの記号は、文法で示された位置に書きます。
命令によっては、パラメーターを 2 つ以上繰り返し書くことができるものがあります。例えば、以下は print 命令の文法です。
print [<式>][;<式> …][;]
- 式 - 画面に表示したい文字列または数値の式
2 つ目の式では「…」が書かれています。これは、「;」(セミコロン記号)を区切り文字として、式を何個も書くことができることを示しています。例えば、以下のようなプログラムを書くことが可能です。
fn$="Jasmine"
ln$="Tea"
age=20
print "Name=";fn$;" ";ln$;",Age=";age