エディター
エディターは、ブロックまたはスクリプトコードを使って、ロボットを制御するためのコードを書ける領域です。
以下では、ブロックコーディング / スクリプト(Python)コーディングの環境でそれぞれコーディングする方法と、注意すべき点を紹介します。
ブロックコーディングエディター
ブロックカテゴリー

RobomationLAB が提供するブロックをカテゴリーに分類した領域です。
カテゴリーをクリックすると、それぞれのカテゴリーに当たるブロックパレットを確認できます。
次は、基本として提供されるブロックカテゴリーの種類です。
- 論理
- ループ
- 数学
- テキスト
- リスト
- 色
- オーディオ
- 制御
- 変数
- 関数
- その他
このほかにも、ロボットまたは拡張モジュールをプログラムに追加すると、プログラムで専用のブロックパレットを使えます。
⚙️ 参考

プログラムに追加したブロックのうち、もう使わないカテゴリーは、マウスの右クリック → 削除でブロックカテゴリーから外せます。
ブロックパレット

それぞれのカテゴリーのすべてのブロックを集めた領域です。
ブロックパレットにあるブロックは、Drag&Drop の方式でコーディング領域へ移せます。

⚙️ 参考
ブロックの使い方を確認したい場合は、マウスの右クリック → ヘルプで、ブロックごとに使い方が説明されたヘルプを確認できます。
コーディング領域

ブロックパレットから持ってきたブロックを組み立てられる領域です。
組み立てたブロックはリアルタイムに Python コードへ変換され、
コードを実行すると、そのコードを解釈してロボットを動かして制御できます。
ブロックの基本構造
ブロックコーディングエディターでコーディングをするときは、次のような基本構造を守る必要があります。

ブロックコーディングエディターでは、セットアップ関数とループ関数の関数ブロックの中にあるコードを解釈して実行します。
そのため、セットアップ関数とループ関数の関数ブロックの中にブロックを入れてコードを書く必要があります。
セットアップ関数
セットアップ関数のブロックの中には、コードの実行時に最初に行う動作を定義します。
待つブロックを活用して、時間の順に動作が行われるようにできます。
ループ関数
ループ関数のブロックの中には、コードが実行されている間、繰り返して行う動作を定義します。
定義した動作を 10ms に 1 回ずつ繰り返して行います。
⚙️ 参考
(関数カテゴリーで作ったカスタム関数を除いて)
セットアップ関数またはループ関数の関数ブロックの外にあるブロックは、コードの実行時に何の影響も与えません。
ブロックの使い方
ブロックを追加する



追加したいブロックをブロックパレットからドラッグしてエディターにドロップすると、そのブロックを追加できます。
ブロックのコピー / 貼り付け
エディターでブロックをコピー / 貼り付けする方法は、全部で 2 つあります。
ブロックを選んだあと Ctrl+C キーを押すと、選んだブロックをコピーできます。
Ctrl+V キーを押すと、最後にコピーしたブロックをエディターに貼り付けできます。ブロックを選んだあと編集メニューで 「コピー Ctrl+C」ボタンを押すと、選んだブロックをコピーできます。
編集メニューで 「貼り付け Ctrl+V」ボタンを押すと、最後にコピーしたブロックをエディターに貼り付けできます。
ブロックの削除
エディターでブロックを削除する方法は、全部で 3 つあります。
ブロックを選んだあと Backspace キーを押すと、選んだブロックを削除できます。
削除したいブロックをエディターでドラッグしてブロックカテゴリーにドロップすると、そのブロックを削除できます。



- 削除したいブロックをエディターでドラッグしてゴミ箱にドロップすると、そのブロックを削除できます。
削除したブロックはゴミ箱でもう一度確認できます。

複数のブロックを同時に選ぶ
エディターで複数のブロックを同時に選ぶ方法は、全部で 2 つあります。
Shift キーを押した状態で作業領域をドラッグするか、ブロックを一つずつクリックすると、
複数のブロックを同時に選べます。作業領域の右下のチェックボタンをクリックして「複数ブロック選択」のモードをオンまたはオフにできます。
ボタンに色が付いていれば、モードがオンの状態です。
ボタンに色が付いていなければ、モードがオフの状態です。


「複数ブロック選択」のモードがオンの間は、ブロックを選ぶ作業だけができます。
選んだ複数のブロックを同時に移動したり編集したりするには、ブロックの選択を終えたあとモードをオフにする必要があります。
追加のオプション
このほかにも、ブロックをマウスで右クリックすると、
ブロックの縮小 / 展開、有効化 / 無効化、ヘルプのようなさまざまな追加のオプションを確認できます。
Python エディター
コードパレット

ロボットコーディングに必要な基本関数と、ロボット / 拡張モジュール専用の Python コードをカテゴリーに分類した領域です。
次は、基本関数(コード)で提供されるコードカテゴリーの種類です。
- 論理 (logic)
- ループ (loops)
- 数学 (math)
- テキスト (text)
- リスト (lists)
- 色 (color)
- オーディオ (audio)
- 制御 (control)
基本関数で提供されるコードは、ブロックコーディングエディターの基本ブロックとすべて同じ役割を果たします。
⚙️ 参考
コードパレットを活用して Python エディターでコーディングする方法は、コードパレットの活用方法で確認できます。
コードエディター

ロボットを制御するためのコードを書ける領域です。
エディターの設定で Python エディターを選ぶと、Python コードを書けます。
コードの基本構造
コードエディターでコーディングをするときは、次のような基本構造を守る必要があります。
from robomation import *
# (使うロボットがあればインスタンスとして宣言、例)
hamster_s = HamsterS(0)
# ここに1回だけ実行するセットアップコードを入力します:
def setup():
pass
# ここに繰り返し実行する制御コードを入力します:
def loop():
passコードエディターでは、setup 関数と loop 関数の中にあるコードを解釈して実行します。
そのため、setup 関数と loop 関数の中にコードを書く必要があります。
また、ロボットを制御するには、コードの最上部に from robomation import * を置き、使うロボットをインスタンスとして宣言する必要があります。
setup
setup 関数の中には、コードの実行時に最初に行う動作を定義します。
Utils.wait 関数を活用して、時間の順に動作が行われるようにできます。
loop
loop 関数の中には、コードが実行されている間、繰り返して行う動作を定義します。
定義した動作を 10ms に 1 回ずつ繰り返して行います。
コードパレットの活用方法
以下では、簡単な例と一緒にコードパレットをコーディングに活用する方法について説明します。
使いたいコードを探す
コードパレットでは、ロボットコーディングに必要なさまざまな関数やコードを提供します。

コードのカテゴリーの中のメニューを見てみると、 アイコンがあるメニューを確認できます。
論理のメニューを一度クリックすると、アイコンが に変わり、中にある下位のメニューを広げて確認できます。
このように下位のメニューを持っているメニューを「カテゴリー」といいます。
論理のカテゴリーの中の三項演算のように、メニューに アイコンがなければ、メニューの中にもう下位のメニューがないことを意味します。
このように下位のメニューを持っていないメニューを「コード」といいます。

下位のメニューが広がっているカテゴリーをもう一度クリックすると、アイコンがまた に変わり、下位のメニューが隠れます。
上のような方法でカテゴリーをたどりながら、コードパレットで使いたいコードを探せます。
エディターにコードを挿入する
エディターにコードを挿入する方法は次のとおりです。

メニュー名の左に アイコンがあるメニューの場合、選べるコードオプションがないメニューを意味します。
下位のメニューを持っているカテゴリーのメニューが、ほとんどこれに当たります。
メニュー名の左に アイコンがあるメニューの場合、コードオプションを選べるメニューを意味します。
下位のメニューを持っていないコードのメニューが、ほとんどこれに当たります。
エディターに挿入したいコードをマウスで右クリックすると、選べるオプションを確認できます。

コードのメニューを右クリックすると、基本関数とロボット / 拡張モジュール専用のコードの区別なく、次のような同じオプションを確認できます。
- コードを挿入: 選んだコードをエディターのカーソルの位置に挿入します。
- ヘルプ: そのコードの使い方を説明するヘルプを確認します。
- キャンセル: オプションのメニューを閉じます。
ロボット / 拡張モジュール専用のコードの場合、コードを挿入を選ぶと、そのロボットのインスタンスのメソッド呼び出しの形で挿入されます。
( 例. HamsterS の set_wheel_speed → hamster_s.set_wheel_speed('both', 50) )
⚙️ 参考

プログラムに追加したロボット / 拡張モジュール専用のコードのうち、もう使わないコードカテゴリーは、
マウスの右クリック → 削除でコードパレットから外せます。
